• User Attivo

    password decriptata non va nel db

    l'utente si registra correttamente, rimanda l'echo di registrazione ok ma nel database non scrive la password decriptata, quindi al login l'utente non si trova piu'.

    <?php
    session_start();
    ?>
    <?
    include "config.php";
    // inizializza sempre le variabili che usi in uno script
    $username="";
    $psw="";
    $repsw="";
    // assegna i valori POSTati a queste variabili hashando la password
    $username=$_POST['username'];
    $psw=md5($_POST['password']);
    $repsw=md5($_POST['repassword']);
    $ver = "SELECT * FROM messaggi WHERE username= '$username'";
    $tabver = @mysql_query ($ver) or die (mysql_error());
    $veruser = mysql_num_rows ($tabver);
    if ($username=='' || $psw=='' || $repsw=='')
    {
    echo '<br>Compila correttamente tutti i campi';
    }
    else if ($psw !== $repsw)
    {
    echo "<br>Controllare la password digitata.";
    }
    else if ($veruser !== 0)
    {
    echo "<br>L'username richiesto risulta già registrato";
    }
    else if (eregi("[:,;.............=()]", $username))
    {
    echo "<br>Il nick contiene caratteri non validi.";
    }
    else

    {

    $inserimento=mysql_query( "insert into messaggi (id_user,username,password,user,gender,date_of_birth,country,test_arousal_photo1,test_valence_photo1 ,test_arousal_photo2,test_valence_photo2,test_arousal_photo3,test_valence_photo3,test_arousal_photo4 ,test_valence_photo4,test_arousal_photo5,test_valence_photo5,test_arousal_photo6,test_valence_photo6 ,test_arousal_photo7,test_valence_photo7,test_arousal_photo8,test_valence_photo8,test_arousal_photo9 ,test_valence_photo9,test_arousal_photo10,test_valence_photo10,date) values ('" . $_POST['username']. "','" . $_POST['password']. "','" . $_SESSION['id_user']. "', '" . $_SESSION['user']. "','" . $_SESSION['gender'] . "','" . $_SESSION['year'] . "-" . $_SESSION['month'] . "-" . $_SESSION['day'] . "','" . $_SESSION['country'] . "','" . $_SESSION['test_arousal_photo1'] . "','" . $_SESSION['test_valence_photo1'] . "','" . $_SESSION['test_arousal_photo2'] . "','" . $_SESSION['test_valence_photo2'] . "','" . $_SESSION['test_arousal_photo3'] . "','" . $_SESSION['test_valence_photo3'] . "','" . $_SESSION['test_arousal_photo4'] . "','" . $_SESSION['test_valence_photo4'] . "','" . $_SESSION['test_arousal_photo5'] . "','" . $_SESSION['test_valence_photo5'] . "','" . $_SESSION['test_arousal_photo6'] . "','" . $_SESSION['test_valence_photo6'] . "','" . $_SESSION['test_arousal_photo7'] . "','" . $_SESSION['test_valence_photo7'] . "','" . $_SESSION['test_arousal_photo8'] . "','" . $_SESSION['test_valence_photo8'] . "','" . $_SESSION['test_arousal_photo9'] . "','" . $_SESSION['test_valence_photo9'] . "','" . $_SESSION['test_arousal_photo10'] . "','" . $_SESSION['test_valence_photo10'] . "', now())" ) or die (mysql_error());

    echo "<br>Registrazione effettuata.";
    }
    @mysql_close($connection);

    ?>
    </body>
    </html>


  • User Attivo

    Sembrerebbe che nella query inverti i campi. Mi spiego meglio, analizziamo i primi campi che vuoi riempire:

    insert into messaggi (id_user,username,password .....
    quindi sono id_user, username e password

    ora analizziamo i primi 3 valori che inserisci:
    values ('" . $_POST['username']. "','" . $_POST['password']. "','" . $_SESSION['id_user']...........
    quindi sono username, password e id_user.

    Ricapitolando:
    nel campo id_user inserisci $_POST['username']
    nel campo username inserisci $_POST['password']
    nel campo password inserisci $_SESSION['id_user'].

    Le assegnazioni sono sbagliate, la query sembra un cubo di rubik, riordinala e penso che tutto ti funzionerà.


  • User Attivo

    hai ragione, ho rifatto lo script e ora va bene la registrazione.
    il problema è nel login adesso, ho postato una nuova discussione.
    grazie.