Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    strano comportamento nel controllo dati di un form

    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:
    uh? eh ? cosa?

  2. #2
    hai dei redirect messi nel punto sbagliato...

    codice:
    Esempio:
    header ("Location:$url_sito/index.php?act=report_registrazione&error=same_username");
    che ti fanno saltare il codice ;> normale che non venga eseguito quello che segue
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

  3. #3
    nn sono gli header... quei due pezzi di codice funzionano come devono se usati separatamente

    ma quando li metto insieme mi danno quei problemi... quello che segue me lo esegue... è quello che c'è prima (il controllo da db) che lo salta completamente
    uh? eh ? cosa?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.