Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP] Controllare il formato dei caratteri in un form

  1. #1
    Guest

    Predefinito [PHP] Controllare il formato dei caratteri in un form

    Ciao a tutti,
    ho un form di iscrizione dove ci sono diversi campi da compilare, uno di questi è il campo Nickname ($nick), per non far inserire caratteri "speciali" quali apici, cancelletto, etc, ho utilizzato questo codice:
    Codice PHP:
    /* controlliamo il formato dei caratteri in NICKNAME */

    if(eregi("[\&\$\%\£\.\:\,\;\ò\@\ç\à\°\#\è\è\+\*\ù\§\^\ì\?\'\|\=]+",$nick))
    {
    $_TEMP .= "Errore! Hai inserito caratteri non consentiti nel campo ''Nickname''";
    }
    il problema è che il codice non mi funziona, anche se inserisco caratteri particolari lo script non fa il suo dovere...
    Questo codice è sbagliato?
    Ci sono altre soluzioni?

    Grazie a tutti

  2. #2
    Guest

    Predefinito

    Se vuoi accettare solo lettere e numeri, oltre che al punto, underscore e trattino:

    preg_match("/[^\w\._-]/i",$nick);


    Ciao!
    Ultima modifica di debug : 20-05-2009 alle ore 16.31.57

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Se vuoi accettare solo lettere e numeri, oltre che al punto, underscore e trattino:

    preg_match("/[^\w\._-]/i",$nick);


    Ciao!
    e se volessi SOLO underscore, dovrei fare così?

    preg_match("/[^\w\_]/i",$nick);
    quindi il codice completa da inserire nel mio script dovrebbe essere(?):
    Codice PHP:
    if(preg_match("/[^\w\._-]/i",$nick))
    {
    $_TEMP .= "Errore! Hai inserito caratteri non consentiti nel campo Nickname";
    }

  4. #4
    Guest

    Predefinito

    bè... hai provato?
    Se funziona, la risposta è sì, altrimenti no! ;)

    PS: togli il backslash davanti l'underscore: preg_match("/[^\w_]/i",$nick);



    Ciao!

  5. #5
    Guest

    Predefinito

    solo una precisazione il pattern "/w" già include l'underscore
    da documentazione php:
    A "word" character is any letter or digit or the underscore character

  6. #6
    Guest

    Predefinito

    questo codice esclude anche gli spazi?


    grazie

  7. #7
    Guest

    Predefinito

    quel codice dice esattamente:
    se trovi qualcosa che non sia un carattere (vedi sopra) allora setta la variabile $_TEMP

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da Inverno Visualizza messaggio
    quel codice dice esattamente:
    se trovi qualcosa che non sia un carattere (vedi sopra) allora setta la variabile $_TEMP
    e se io dovessi scrivere: Dj Ivan, cosa succede?


    grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •