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

    Aiuto registrazione form

    Ciao a tutti Ho un problema col mio codice in quanto,nonostante mi sembri corretto, vedo che gli utenti continuano a esser registrati sul db anche quando non dovrebbero
    Eppure ho messo diversi controlli che vengono effettuati, però sembra che la variabile flag non venga settata a 1 e che quindi l'insert avvenga sempre..

    Codice PHP:
    <?php
    $nickmame
    =mysql_real_escape_string($_POST['nickname']);
    $password=mysql_real_escape_string($_POST['pwd']);
    $password2=mysql_real_escape_string($_POST['pwd2']);
    $email=mysql_real_escape_string($_POST['email']);
    $flag_controllo=0;

     while(list(
    $chiave$valore)=each($_POST)){
     if(
    $valore ==""){
     
    //echo "non hai compilato il campo obbligatorio " . $chiave . ", l'iscrizione non può essere processata.";
     
    $flag_controllo=1;
     echo
    '<script type="text/javascript">
            document.getElementById("intro").innerHTML="Alcuni campi non sono stati completati,riprova con maggiore attenzione!";
            </script>'
    ;
     
    header("Refresh: 3; URL = index.php");
     }
     }
     
    if(
    strcmp($password$password2) != 0){
            
    $flag_controllo=1;
            echo
    '
            <script type="text/javascript">
            document.getElementById("intro").innerHTML="Le due password non coincidono,riprova con maggiore attenzione!";
            </script>'
    ;

      
    header("Refresh: 3; URL = index.php");
     }
     
    if(
    check_mail($email)){
        
    $flag_controllo=0;
    }
        else{
            
    $flag_controllo=1;
            echo
    '
            <script type="text/javascript">
            document.getElementById("intro").innerHTML="Il formato email non è corretto, riprova con maggiore attenzione!";
            </script>'
    ;
         
    header("Refresh: 3; URL = index.php");
            }

    if(
    check_user($nickmame)){
        
    $flag_controllo=0;
    }
        else{
            
    $flag_controllo=1;
            echo
    '
            <script type="text/javascript">
            document.getElementById("intro").innerHTML="Lo username scelto non è più disponibile, riprova!";
            </script>'
    ;
         
    header("Refresh: 3; URL = index.php");
            }

        if(
    $flag_controllo==0){
        
    $pwd md5($password2);
        
    $iscrizione_utente=mysql_query("insert into user(id,username,password,email) values(NULL,'$nickmame','$pwd','$email')");
        
    header("Refresh: 1; URL = index.php");
        } 

     
    ?>

  2. #2
    Grazie a tutti

  3. #3
    Vi allego anche le due funzioncine..
    Codice PHP:
    <?php
    function check_mail($email)
    {
        
    // elimino spazi alle estremità ove presenti
        
    $email trim($email);

        
    // verifico la presenza di una sola "chiocciola"
        
    $num_at count(explode'@'$email )) - 1;
        if(
    $num_at != 1) {
            return 
    false;
        }

        
    // verifico che non siano presenti caratteri non ammessi
        
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
            return 
    false;
        }

        
    // controllo formato mail
        
    if(!preg_match'/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/'$email)) {
            return 
    false;
        }

        return 
    true;
    }

    function 
    check_user($nickmame)
    {
    $sqlquery "SELECT * FROM user WHERE username = '$nickmame'"
        
    $result mysql_query($sqlquery); 
        if (
    mysql_num_rows($result) == "0"){  
        return 
    true;
        }else{ 
        return 
    false
        }  
        }
    ?>

  4. #4
    Ho risolto. La variabile flag,nel caso alcuni campi corretti, si resettava a zero e quindi proseguiva con l'iinserzione dati sul db.

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.