Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29

Discussione: validare i campi

  1. #11
    stessa cosa di prima, registra senza controllare

    eppure sembra semplice

  2. #12
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Alla fine di ogni case devi inserire un break; altrimenti lo script continuerà per tutti gli altri case.

  3. #13
    cosi ?

    case 0: // non c'è errore fa qualcosa.
    break;
    case 1: $msg = 'Hai dimenticato di inserire il tuo nome!';
    break;
    case 2: $msg = 'Non hai inserito il tuo cognome!';
    break;

  4. #14
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Esatto.

    La query di inserimento, inoltre, va messa nel case 0 e non dopo la funzione switch altrimenti verrà eseguita sempre e comunque.

  5. #15
    ho provato cosi'

    Codice PHP:

    controllo i campi obblicatori 
    if (isset($_POST)) { // Se è stato premuto il tasto invio prosegue. //qui c'era una ( invece di { 
       // Prendo il contenuto dai campi nome e cognome del form: 
       
    $nome $_POST['nome']; 
       
    $cognome $_POST['cognome']; //qui era scritto $POST 

       // Validazione di nome e introduzione della variabile $errore. 
       
    $errore 0
       if (
    $nome == ""$errore 1
       if (
    $cognome == ""$errore 2
         
       
    // Controllo d'errore. 
       
    switch ($errore) {  
          case 
    0// non c'è errore fa qualcosa.
          // query di inserimento 

    $query         "INSERT INTO `registrati` (nome, cognome, email, indirizzo, citta, provincia, cap, nazione, telefono, fax, reg, piva, data) 
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."', '".$_POST['indirizzo']."', '".$_POST['citta']."', '".$_POST['provincia']."', '".$_POST['cap']."',  '".$_POST['nazione']."',  '".$_POST['telefono']."',  '".$_POST['fax']."',  '".$_POST['reg']."',  '".$_POST['piva']."', '".date('Y-m-d H:i:s')."')"




    $query2         "INSERT INTO `news` (nome, cognome, email,  data) 
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."',  '".date('Y-m-d H:i:s')."')"

           break; 
          case 
    1$msg 'Hai dimenticato di inserire il tuo nome!'
          break; 
          case 
    2$msg 'Non hai inserito il tuo cognome!'
          break; 
          default: 
    $msg 'Non hai riempiti i campi, non posso inviare.'
       } 
    // fine selezione di tipo. //qui c'era una ) invece di } 
    // fine condizione iniziale. //qui c'era una ) invece di } 



    // esecuzione della query 

    $query_results mysql_query($query) or die("error=1"); 
    $query_results2 mysql_query($query2) or die("error=1"); 
    mi esce questo stavolta: error=1

  6. #16
    ho provato cosi'

    Codice PHP:

    controllo i campi obblicatori 
    if (isset($_POST)) { // Se è stato premuto il tasto invio prosegue. //qui c'era una ( invece di { 
       // Prendo il contenuto dai campi nome e cognome del form: 
       
    $nome $_POST['nome']; 
       
    $cognome $_POST['cognome']; //qui era scritto $POST 

       // Validazione di nome e introduzione della variabile $errore. 
       
    $errore 0
       if (
    $nome == ""$errore 1
       if (
    $cognome == ""$errore 2
         
       
    // Controllo d'errore. 
       
    switch ($errore) {  
          case 
    0// non c'è errore fa qualcosa.
          // query di inserimento 

    $query         "INSERT INTO `registrati` (nome, cognome, email, indirizzo, citta, provincia, cap, nazione, telefono, fax, reg, piva, data) 
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."', '".$_POST['indirizzo']."', '".$_POST['citta']."', '".$_POST['provincia']."', '".$_POST['cap']."',  '".$_POST['nazione']."',  '".$_POST['telefono']."',  '".$_POST['fax']."',  '".$_POST['reg']."',  '".$_POST['piva']."', '".date('Y-m-d H:i:s')."')"




    $query2         "INSERT INTO `news` (nome, cognome, email,  data) 
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."',  '".date('Y-m-d H:i:s')."')"

           break; 
          case 
    1$msg 'Hai dimenticato di inserire il tuo nome!'
          break; 
          case 
    2$msg 'Non hai inserito il tuo cognome!'
          break; 
          default: 
    $msg 'Non hai riempiti i campi, non posso inviare.'
       } 
    // fine selezione di tipo. //qui c'era una ) invece di } 
    // fine condizione iniziale. //qui c'era una ) invece di } 



    // esecuzione della query 

    $query_results mysql_query($query) or die("error=1"); 
    $query_results2 mysql_query($query2) or die("error=1"); 

    echo(
    'Registrazione avvenuta, 
        
    I tuoi dati sono stati inseriti correttamente, attendi 5 secondi e sarai reindirizzato alla Homepage 
     '
    ); 
    echo 
    '<meta http-equiv="refresh" content="7;url=http://www.nomesito.com/web2/regist/login.php">';

    ?> 
    mi esce questo stavolta: error=1

  7. #17
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Fai così:

    Codice PHP:
    // controllo i campi obblicatori
    if (isset($_POST)) { // Se è stato premuto il tasto invio prosegue. //qui c'era una ( invece di {
       // Prendo il contenuto dai campi nome e cognome del form:
       
    $nome $_POST['nome'];
       
    $cognome $_POST['cognome']; //qui era scritto $POST

       // Validazione di nome e introduzione della variabile $errore.
       
    $errore 0;
       if (
    $nome == ""$errore 1;
       if (
    $cognome == ""$errore 2;
         
       
    // Controllo d'errore.
       
    switch ($errore) {  
          case 
    0// non c'è errore fa qualcosa.
          // query di inserimento

    $query         "INSERT INTO `registrati` (nome, cognome, email, indirizzo, citta, provincia, cap, nazione, telefono, fax, reg, piva, data)
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."', '".$_POST['indirizzo']."', '".$_POST['citta']."', '".$_POST['provincia']."', '".$_POST['cap']."',  '".$_POST['nazione']."',  '".$_POST['telefono']."',  '".$_POST['fax']."',  '".$_POST['reg']."',  '".$_POST['piva']."', '".date('Y-m-d H:i:s')."')";




    $query2         "INSERT INTO `news` (nome, cognome, email,  data)
                      VALUES ('"
    .$_POST['nome']."', '".$_POST['cognome']."', '".$_POST['email']."',  '".date('Y-m-d H:i:s')."')";

    // esecuzione della query

    $query_results mysql_query($query) or die("error=1");
    $query_results2 mysql_query($query2) or die("error=1");

    $msg 'Registrazione avvenuta, 
     I tuoi dati sono stati inseriti correttamente, attendi 5 secondi e sarai reindirizzato alla Homepage 
     <meta http-equiv="refresh" content="7;url=http://www.nomesito.com/web2/regist/login.php">'
    ;


           break;
          case 
    1$msg 'Hai dimenticato di inserire il tuo nome!';
          break;
          case 
    2$msg 'Non hai inserito il tuo cognome!';
          break;
          default: 
    $msg 'Non hai riempiti i campi, non posso inviare.';
       } 
    // fine selezione di tipo. //qui c'era una ) invece di }
    // fine condizione iniziale. //qui c'era una ) invece di }

    echo $msg;

    ?> 

    Vale comunque la pena ricordarti che l'utilizzo delle variabili _POST all'interno delle query è una pratica pericolosa che ti espone a seplicissimi attacchi di sql injection.

  8. #18
    Grazie Justino sei un amico, funziona perfettamente.


    se adesso voglio inserire altri campi basta modificare

    $errore = 0;
    if ($nome == "") $errore = 1;
    if ($cognome == "") $errore = 2;
    if ($email == "") $errore = 3;



    break;
    case 1: $msg = 'Hai dimenticato di inserire il tuo nome!';
    break;
    case 2: $msg = 'Non hai inserito il tuo cognome!';
    break;
    case 3: $msg = 'Non hai inserito la tua email!';
    break;
    default: $msg = 'Non hai riempiti i campi, non posso inviare.';



    e cosi via giusto?

  9. #19
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    si, esatto

  10. #20
    ho provato a mettere altri campi ma mi stampa sempre (Non hai inserito la tua email! )

    ho fatto cosi:

    $errore = 0;
    if ($nome == "") $errore = 1;
    if ($cognome == "") $errore = 2;
    if ($email == "") $errore = 3;
    // Controllo d'errore.
    switch ($errore) {
    case 0: // non c'è errore fa qualcosa.




    break;
    case 1: $msg = 'Hai dimenticato di inserire il tuo nome!';
    break;
    case 2: $msg = 'Non hai inserito il tuo cognome!';
    break;
    case 3: $msg = 'Non hai inserito la tua email!';
    break;
    default: $msg = 'Non hai riempiti i campi, non posso inviare.';



    non e' che puoi aiutarmi ad aggiungerci

    nome, cognome email, indirizzo, citta, nazione , telefono, reg, piva. solo questi Grazie

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 © 2026 vBulletin Solutions, Inc. All rights reserved.