Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Impedire l'inserimento di caratteri particolari

    Ciao, ho un problema abbastanza semplice per voi (almeno spero) ma dal quale non so uscirci

    Voglio che quando un utente inserisce in un campo un carattere strano come / oppure \ oppure " ci sia un controllo php che restituisce errore dicendo che i caratteri particolari non possono essere inseriti.

    una cosa del tipo: if(lastringacontiene(") || lastringacontiene(/) || lastringacont....) { print errore; }

    Il problema è anche un altro: se qualcuno inserisce in un form "ciao" viene convertito in "/ciao"/

    Ho trovato questo:
    function RemoveHtml($text) {
    $text = stripslashes($text);
    $text = htmlspecialchars($text);
    $text = nl2br($text);
    return($text);
    }
    a che serve? Può aiutare?

    grazie, ciao

  2. #2
    dovresti studiarti le espressioni regolari e le funzioni php che le utilizzano... tipo la funzione php ereg o la preg_match... per le espressioni regolari guarda quest'articolo -> http://freephp.html.it/articoli/view_articolo.asp?id=69

    alcuni esempi pratici:

    nome
    ----
    if (!preg_match("/^[a-z ']+$/i", $_POST['nome'])) $errors_arr[] = "Nome non valido";

    username
    --------
    if (!preg_match("/^[a-z0-9 '@\^]+$/i", $_POST['username'])) $errors_arr[] = "Username non valida";

    email
    -----
    if (!preg_match("/^[^@]+@.+?\.[a-z]{2,6}$/i", $_POST['email'])) $errors_arr[] = "La prima E-Mail non è valida";



    r@p

  3. #3
    ho letto, mi è un po' + chiaro ora...

    per l'altro problema? Cioè se volessi evitare che quando uno scrive " in un form e preme submit si aggiunge da sola lo /, come devo fare?

    ripeto qeusta funz può essere utile?

    function RemoveHtml($text) {
    $text = stripslashes($text);
    $text = htmlspecialchars($text);
    $text = nl2br($text);
    return($text);
    }

    di preciso a che serve?

    Grazie, ciao

  4. #4
    ti basterebbe guardare sul manuale cosa fanno le 3 funzioni che vengono utilizzate per capirlo:

    http://it2.php.net/stripslashes
    http://it2.php.net/htmlspecialchars
    http://it2.php.net/nl2br


    Per risponderti, se vuoi evitare che quando uno preme submit in una form dove ha scritto ad esempio il suo cognome

    D'Alema

    legga

    D\'Alema

    ti basta usare la stripslashes, e magari aggiungici la TRIM che leva gli spazi vuoti prima e dopo:

    $_POST['cognome'] = stripslashes(trim($_POST['cognome']));


    r@p

  5. #5
    se vuoi usare la funzione allora fai così:

    codice:
    funtion parseText($text) {
    
    $text = stripslashes(trim($text));
    
    return $text;
    
    }
    
    $_POST['cognome'] = parseText($_POST['cognome']);

    r@p

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.