stessa cosa di prima, registra senza controllare
eppure sembra semplice
stessa cosa di prima, registra senza controllare
eppure sembra semplice
Alla fine di ogni case devi inserire un break; altrimenti lo script continuerà per tutti gli altri case.
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;
Esatto.
La query di inserimento, inoltre, va messa nel case 0 e non dopo la funzione switch altrimenti verrà eseguita sempre e comunque.
ho provato cosi'
mi esce questo stavolta: error=1Codice 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");
ho provato cosi'
mi esce questo stavolta: error=1Codice 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">';
?>
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.
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?
si, esatto
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