Visualizzazione dei risultati da 1 a 6 su 6

Discussione: gestione errori

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    gestione errori

    salve .. vorrei gestire in modo differente alcuni errori ma non capisco come poter fare.. attualmente gestisco così degli errori provenienti da un form.

    facciamo un esempio che ho un nickname con dei determinati parametri a cui deve adeguasi e una password allo stesso modo, io faccio così

    Codice PHP:
    ##controllo validità nickname##
    if (!eregi("^[a-z0-9_-]{3,15}$"trim($nickname))) {

    echo 
    "<div class=\"messaggio errore\">Nickname non valido</div>";

    ##controllo validità password##
    } elseif (!eregi("^[a-z0-9_-]{5,15}$"trim($password))) {

    echo 
    "<div class=\"messaggio errore\">Password non valida</div>";


    cosi facendo mi controlla "prima" il nickname e "dopo la password.. quindi sbagliassi entrambi, prima mi segnalerebbe solo il nickname e risolto quello mi segnalerebbe la password..

    vorrei fare in modo che mi segnalasse sia la password che il nickname subito, ma che i controlli cmq vengono fatti singolarmente.. nickname, password.. ed eventualmente poi potrei avere email etc..
    come posso fare?

    grazie

  2. #2
    Se vuoi fare tutti i controlli distinti non ti resta che duplicare le condizioni, del tipo

    Codice PHP:

    ##controllo validità nickname##
    if (!eregi("^[a-z0-9_-]{3,15}$"trim($nickname))) {

    $err_nick=true;

    ##controllo validità password##
    } elseif (!eregi("^[a-z0-9_-]{5,15}$"trim($password))) {

    $err_pass=true;
    }

    if(
    $err_nick) echo "nick non valido";
    if(
    $err_pass) echo "pass non valida"

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da 1Dan
    Se vuoi fare tutti i controlli distinti non ti resta che duplicare le condizioni, del tipo

    Codice PHP:

    ##controllo validità nickname##
    if (!eregi("^[a-z0-9_-]{3,15}$"trim($nickname))) {

    $err_nick=true;

    ##controllo validità password##
    } elseif (!eregi("^[a-z0-9_-]{5,15}$"trim($password))) {

    $err_pass=true;
    }

    if(
    $err_nick) echo "nick non valido";
    if(
    $err_pass) echo "pass non valida"
    Non mi pare cambia il concetto.. qui prima controlla il nickname e dopo la password.. se il nickname non è valido il controllo si blocca subito... e non controlla anche la password... io vorrei controllare subito nickname e password e segnalare quali non sono corretti, anche entrambi subito..

  4. #4
    Allora, innanzi tutto togliamo il comando eregi che ormai non si usa più.

    Quindi:

    Codice PHP:
    ##controllo validità nickname## 
    if (!preg_match("/^[a-z0-9_-]{3,15}$/",  trim($nickname))) { 
        
    $err_nick=true;
    }

    ##controllo validità password## 
    if (!preg_match("/^[a-z0-9_-]{5,15}$/"trim($password))) { 
        
    $err_pass=true
    }

    if(
    $err_nick) echo "nick non valido"
    if(
    $err_pass) echo "pass non valida"

    Se invece vuoi fare lo sborone:

    Codice PHP:
    ##controllo validità nickname## 
    if (!preg_match("/^[a-z0-9_-]{3,15}$/",  trim($nickname))) { 
        
    $err_nick=true
    }

    ##controllo validità password## 
    if (!preg_match("/^[a-z0-9_-]{5,15}$/",  trim($password))) { 
        
    $err_pass=true


    if (
    $err_nick && $err_pass) {
        echo 
    "nick e pass non validi";
    } else if (
    $err_nick) {
        echo 
    "nick non valido"
    } else if(
    $err_pass) {
        echo 
    "pass non valida";
    } else {
        
    //prosegui

    Non c'è niente di più immenso del nulla.
    Dunque parlatemi del nulla se non volete mai annoiarmi.


    Nozioni: PHP, ASP, HTML, XHTML, DHTML, XML, Javascript, Actionscript, Ajax, CSS, MySQL, Photoshop, Flash, Dreamweaver, 3D Studio Max, FL Studio, Illustrator, Corel Draw, insomma.... chiedete e basta.

  5. #5
    Non mi pare cambia il concetto.. qui prima controlla il nickname e dopo la password.. se il nickname non è valido il controllo si blocca subito... e non controlla anche la password...
    Invece ti sbagli. Nel mio caso, o come quello di psycho54h, vengono effettuati prima tutti i controlli e solo dopo vengono mostrati gli errori riscontrati, tutti insieme.

  6. #6
    Originariamente inviato da 1Dan
    Invece ti sbagli. Nel mio caso, o come quello di psycho54h, vengono effettuati prima tutti i controlli e solo dopo vengono mostrati gli errori riscontrati, tutti insieme.
    No, ha ragione perché hai usato l'else if, probabilmente una distrazione.
    Non c'è niente di più immenso del nulla.
    Dunque parlatemi del nulla se non volete mai annoiarmi.


    Nozioni: PHP, ASP, HTML, XHTML, DHTML, XML, Javascript, Actionscript, Ajax, CSS, MySQL, Photoshop, Flash, Dreamweaver, 3D Studio Max, FL Studio, Illustrator, Corel Draw, insomma.... chiedete e basta.

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.