Questo è il completo codice php:
Che cos'è? E' un codice che mediante l'inserimento dei dati di un form di registrazione si viene iscritti in una pagina web. E il problema? Il problema è questo: verso le parti più esterne del codice ho un ciclo while che assegna un dato ad una variabile per poi questo essere confrontato con un'altro e via dicendo. Però se questo dato non dovesse esistere, come ho scritto nel if, viene eseguito un'altra parte di codice.
Il codice funziona solo e dico solo se è presente almeno un dato nella tabella, invece se non ne è presente nemmeno un record all'interno di essa (utenti) nel database non viene registrato nulla, come risolvo?
Codice PHP:
<?php
$sub = $_POST['vai'];
$nom = $_POST['nome'];
$cog = $_POST['cognome'];
$gg = $_POST['gg'];
$mm = $_POST['mm'];
$aaaa = $_POST['aaaa'];
$sex = $_POST['sesso'];
$cod1 = $_POST['codice1'];
$cod2 = $_POST['codice2'];
$email = $_POST['email'];
$dob = $gg . '-' . $mm . '-' . $aaaa;
if ($sub) {
if ($nom&&$cog&&$gg&&$mm&&$aaaa&&$sex&&$cod1&&$cod2&&$email) {
if ($cod1==$cod2) {
mysql_connect('localhost','root','') or die (mysql_error());
mysql_select_db('noteit') or die (mysql_error());
$sql = 'SELECT EMAIL FROM utenti';
$query = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_assoc($query)) { /* QUI */
$dbemail = $row['EMAIL'];
if ($dbemail) {
if ($dbemail!=$email) {
mysql_query("INSERT INTO utenti VALUES ('',(UCASE('$nom')),(UCASE('$cog')),'$dob','$sex','$cod1','$email')")
or die (mysql_error());
$sql = 'SELECT IDU,EMAIL FROM utenti';
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
$idu = $row['IDU'];
}
mysql_query("INSERT INTO io VALUES ('".$idu."','')")
or die (mysql_error());
} else {
die ('Errore, questa email risulta essere di un altro utente');
}
} else {
mysql_query("INSERT INTO utenti VALUES ('',(UCASE('$nom')),(UCASE('$cog')),'$dob','$sex','$cod1','$email')")
or die (mysql_error());
}
}
} else {
die ('Errore, i due codici non risultano uguali');
}
} else {
die ('Errore, controlla i dati inseriti');
}
}
?>