Visualizzazione risultati 1 fino 7 di 7

Discussione: [PHP] Verificare Caratteri da un campo form

  1. #1
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Lightbulb [PHP] Verificare Caratteri da un campo form

    Ho realizzato un funzione in php che dovrebbe verificare l'immissione di caratteri in un campo form per il nome-utente(username)....ma restituisce sempre false anche con caratteri ammessi; il codice è il seguente:

    Codice PHP:
    //controllo nome-utente solo numeri 0-9 e lettere a-z e _
    function Verify_User_Name($verify_user_name) {
    $return=true;
    $good_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";

    for(
    $x=0; $x<=strlen($verify_user_name); $x++){

    $c_user_name = substr($verify_user_name, $x, 1);
    $pos_good_chars = strrpos($good_chars, $c_user_name);

    if (
    $pos_good_chars === false){
    $return=false;
    return(
    false);}

    }
    return(
    true);

    //in ASP:
    //for i = 1 to len(input)
    //c = mid(input, i, 1)
    //if (InStr(good_chars, c) = 0) then valGoodChars = false
    }
    //end
    Potete aiutarmi e dirmi dove sbaglio?

    Grazie!

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  2. #2
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Codice PHP:
    $x<strlen($verify_user_name)
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  3. #3
    Guest

    Predefinito

    Sì. Ti complichi la vita ^_*
    Regular Expression: http://php.net/manual/en/function.preg-match.php

    Leggi questo: http://forum.it.altervista.org/how/5...-regolari.html

    =)

    Edit by comunità: il codice è errato, l'ho scritto di getto e ho dimenticato alcune cose, vedi sotto :)
    Codice PHP:
    <?php
    /*function Verify_User_Name($verify_user_name) {
    if (preg_match("/^[A-Za-z0-9]$/i", $verify_user_name)) {
    return(true);
    } else {
    return(false);
    }
    }
    */
    echo "errare humanum est"; ?>
    Non l'ho provato ma dovrebbe funzionare:) post modificato per evitare errori in eventuali ricerche future
    Ultima modifica di comunitavirtuali : 24-12-2009 alle ore 09.25.46

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Su php.net ho trovato questo:http://php.net/manual/en/function.ereg.php

    Codice PHP:
    //esempio:

    if (ereg("^[a-zA-Z0-9_]{3,16}$",$verify_user_name)) { $return = true; }
    else echo
    "parametro non valido<br>";
    Ma dice ......:

    Warning

    This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Citazione Originalmente inviato da comunitavirtuali Visualizza messaggio
    Codice PHP:
    <?php
    function Verify_User_Name($verify_user_name) {
    if (
    preg_match("/^[A-Za-z0-9]$/i", $verify_user_name)) {
    return(
    true);
    } else {
    return(
    false);
    }
    }
    ?>
    Non l'ho provato ma dovrebbe funzionare:)
    è sbagliato manca il +, eppoi visto che è "case-insensitive" basta mettere o minuscole o maiuscole, eppoi manca l'_
    Codice PHP:
    <?php
    function Verify_User_Name($verify_user_name) {
    if (
    preg_match("/^[a-z0-9_]+$/i", $verify_user_name)) {
    return(
    true);
    } else {
    return(
    false);
    }
    }
    ?>
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Thumbs up

    Citazione Originalmente inviato da ageofempiresgif Visualizza messaggio
    Codice PHP:
    $x<strlen($verify_user_name)
    Vorrei ringraziare tutti per il vostro aiuto....

    Ho utilizzato il mio codice, mi sento più sicuro.....in effetti avevo inserito un = di troppo....

    Funziona....

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Citazione Originalmente inviato da EuroSalute Visualizza messaggio
    Warning

    This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
    Significa che puoi usarla comodamente se usi una versione di PHP precedente alla 5.3; al posto di ereg() è consigliato usare preg_match().
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

Regole di scrittura

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