• User

    Invio form nel database

    Salve a tutti, ho un problema con una non riesco a capire come mai, se compilo i campi del form i dati vengono inviati al database e mi crea un nuovo record con campi pieni.
    Se invio il form co campi vuoti i dati vengono sewmpre inviati al database , ma mi ritrovo un record vuoto.
    Nella pagina ci sono dei contolli che avvisano chi compila il form che i campi sono sbagliati, pero non capisco come si deve fare per non far patrire il form con i campi vuoti.
    Posto codice pagina, spero si sia capito cosa chiedo.
    <?php
    $email=$_POST['email'];
    $pwd=$_POST['pwd'];
    $pwd_conferma=$_POST['pwd_conferma'];
    $radio=$_POST['radio'];

    // verifica campi obbligatori
    if(isset($email) || isset($pwd) || isset($pwd_comferma) || isset($radio)) {

    echo "<h3>Il messaggio non è stato inviato</h3><p>Compila tutti i campi obbligatori!</p>";
    }

    if($pwd == $pwd_conferma)

    {
    //registrazione
    $query=mysql_query("INSERT INTO utenti (email,password) VALUES('$email','$pwd')")or die (mysql_error());

    }

    else
    {
    echo "Le password inserite non coincidono  <br>";

    }
    ?>


  • User

    Ciao mauranto66 hai sbagliato nel if() dove hai messo le funzioni isset() essa controlla solo la esistenza della variabile non controlla se il contenuto è diverso da niente!. Ciao


  • User

    Come faccio il controllo, ho provato con: if(!empty ($email)||,
    e cosi via,ho provato anche con: if(empty($email)|| e cosi via.
    non funziona,
    Mi escono i messaggi che i campi sono vuoti ma nel database il record e sempre vuoto.


  • User

    Devi fare if( ($email!='') || e cosi via!!, ciao!


  • User

    Ho provato non funziona.
    if( ($email!='')||($pwd!='') || ($pwd_conferma!='') ||($radio!=''))Quando invio il form, mi dice a video che i campi sono vuoti ma nel database mi trovo sempre un record vuoto.
    Perchè si aggiorna il record?, oltre quello lo fa solo una volta perchè
    e come se trovasse un utente con le stesse credenziali.
    Attendo,Grazie mille.


  • User

    Certo il if secondo entra lo stesso, le due variabili sono vuote per cio sono uguali!


  • User

    Scusa ma non capisco.


  • User

    Prova cosi

    [PHP]
    <?php
    $email=$_POST['email'];
    $pwd=$_POST['pwd'];
    $pwd_conferma=$_POST['pwd_conferma'];
    $radio=$_POST['radio'];

    // verifica campi obbligatori
    if( ($email == '') || ($pwd== '') || ($pwd_comferma== '') || ($radio == '') )
    {
    echo "<h3>Il messaggio non è stato inviato</h3><p>Compila tutti i campi obbligatori!</p>";
    }
    elseif($pwd == $pwd_conferma)
    {
    //registrazione
    $query=mysql_query("INSERT INTO utenti (email,password) VALUES('$email','$pwd')")or die (mysql_error());

    }
    else
    {
    echo "Le password inserite non coincidono  <br>";

    }
    ?>
    [/PHP]


  • User

    Ho provato il tutto funziona il database non mi da più il record vuoto, sbagliavo nel == io ne mettevo uno solo, adesso ho capito.
    Ti ringrazio vivamente.
    Alla prossima.


  • User

    Di niente, ciao! :tongueout:


  • User

    Brutte notizie, il database non mi da record vuoto, ma adesso non riesco a registrarmi, no riesco a aggiungere record.Io avevo provato solo cliccando il pulsante invia, pensavo funzionasse tutto.
    Adesso funziona al contrario.
    SCUSATEMI.
    INVIO CODICE DI TUTTE E DUE PAGINE.
    pagina registrazione.php

    <form name="registrazione" method="POST" action="registra.php" class="form2">
    <p>E-mail:                         <input name="email" type="text" class="text2" /><br /><br />

        Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input name="pwd" type="text" class="text2" /><br /><br />
        Conferma Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="pwd_conferma" type="password" class="text2"/> 
        </p>
      <p>
      <br />
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="submit" type="submit" value="Invia!" class="submit2"/>
          </p>
          <!-- DIV PASSWORD ERRATE--><div id="errate"></div><!--FINE PASSWORD ERRATE-->
       <br />
             <br />
          <p class="personali">  Informativa dati personali</p>
          
           <p>
             <textarea name="informativa" cols="45" rows="5" readonly="readonly" class="text2area" id="informativa">
    

    Pagina registra.php
    <?php
    $email=$_POST['email'];
    $pwd=$_POST['pwd'];
    $pwd_conferma=$_POST['pwd_conferma'];
    $radio=$_POST['radio'];

    // verifica campi obbligatori
    if( ($email == '') || ($pwd== '') || ($pwd_comferma== '') || ($radio == '') )
    {
    echo "<h3>Il messaggio non è stato inviato</h3><p>Compila tutti i campi obbligatori!</p>";
    }
    elseif($pwd == $pwd_conferma)
    {
    //registrazione
    $query=mysql_query("INSERT INTO utenti (email,password) VALUES('$email','$pwd')")or die (mysql_error());

    }
    else
    {
    echo "Le password inserite non coincidono  <br>";

    }
    ?>
    spero di non rubarvi troppo tempo.
    Grazie.


  • User

    forse ci sono arrivato nella prima if ($pwd_conferma ==''),
    era di troppo.
    Ho fatto dei controlli per adesso funziona, speriamo bene.
    // verifica campi obbligatori
    if( ($email == '') || ($pwd== '') || ($radio == '') )
    Saluti. a tutti.