ho creato un semplice script per controllare i dati inseriti in un form
la prima parte è questa
Codice PHP:
include("include/config/config.php");
$tabella="dati_personali";
$db_connect=mysql_connect($host,$user,$pass) or die (mysql_error());
$sql="SELECT * FROM $tabella";
$result=mysql_db_query($db,$sql,$db_connect);
while ($row=mysql_fetch_array($result)){
if ($row["Nome"]==$_POST["username"]){
break;
header ("Location:$url_sito/index.php?act=report_registrazione&error=same_username");
}
if ($row["Email"]==$_POST["email"]){
break;
header ("Location:$url_sito/index.php?act=report_registrazione&error=same_email");
}
}
non fa altro che controllare se esistono già quell'username e quell'email
Codice PHP:
if (strlen($_POST["username"])<=2){//controllo username
header ("Location:$url_sito/index.php?act=report_registrazione&error=username");
}
elseif ($_POST["password"]!=$_POST["password2"] or strlen($_POST["password"])<=4){//controllo password
header ("Location:$url_sito/index.php?act=report_registrazione&error=password");
echo "password";
}
elseif (strstr($_POST["email"],"@")==false or strstr($_POST["email"],".")==false){//controllo email
header ("Location:$url_sito/index.php?act=report_registrazione&error=email");
}
else {//inserimento dati nel db
//filtraggio dati
$username=htmlentities($_POST["username"]);
$password=md5(htmlentities($_POST["password"]));
$email=htmlentities($_POST["email"]);
//query
$sql="INSERT INTO $tabella (Nome,Password,Email,data_iscrizione) VALUES('".$username."','".$password."','".$email."',now())";
mysql_db_query($db,$sql,$db_connect);
mysql_close();
header ("Location:$url_sito/index.php?act=report_registrazione&error=noerror");
}
quest altra parte invece controlla altre cose, tipo la lunghezza dei dati inseriti, se l'email è valida ecc..
la cosa strana è che, il controllo se username e email esistono già, usato separatamente dal resto funziona perfettamente... ma quando inseriscco la seconda parte di codice dopo, quel controllo viene saltato
qualcuno ha una spiegazione plausibile a questo? :master: