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: