- Home
- Categorie
- Coding e Sistemistica
- PHP
- Invio form nel database
-
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>";}
?>
-
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
-
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.
-
Devi fare if( ($email!='') || e cosi via!!, ciao!
-
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.
-
Certo il if secondo entra lo stesso, le due variabili sono vuote per cio sono uguali!
-
Scusa ma non capisco.
-
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]
-
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.
-
Di niente, ciao!
-
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: <input name="pwd" type="text" class="text2" /><br /><br /> Conferma Password: <input name="pwd_conferma" type="password" class="text2"/> </p> <p> <br /> <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.
-
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.