Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    problema sessioni e registrazione utente

    siccome ho messo tutto in una sessione che parte dall'inizio del sito, e avendo messo nel database la chiave primaria id_autoincrement, succede che ogni volta che mi connetto al database, tipo per controllare l'utente, o magari solo per l'iscrizione, ovviamente mi incrementa di uno.
    come potrei ovviare a tutto cio'?
    thanks

    questa è l'ultima pagina dello script che contiene tutte le variabili

    <?php
    session_start();
    ?>
    <html>
    <head>
    <title>Iscriviti</title>
    </head>
    <body>
    <form action="register2.php" method="POST" name="register">
    Username<input type="text" name="username">

    Password<input type="password" name="password">

    Verifica password<input type="password" name="repassword">

    <input type="submit" value="Iscriviti">
    <?
    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 '
    Compila correttamente tutti i campi';
    }
    else if ($psw !== $repsw)
    {
    echo "
    Controllare la password digitata.";
    }
    else if ($veruser !== 0)
    {
    echo "
    L'username richiesto risulta già registrato";
    }
    else if (eregi("[:,;èéçòà =()]", $username))
    {
    echo "
    Il nick contiene caratteri non validi.";
    }
    else
    {
    $sql = "INSERT INTO messaggi (username, password) VALUES ('$username', '$psw')";$inserimento=mysql_query( "insert into messaggi (id_user,username,password,user,gender,date_of_bir th,country,test_arousal_photo1,test_valence_photo1 ,test_arousal_photo2,test_valence_photo2,test_arou sal_photo3,test_valence_photo3,test_arousal_photo4 ,test_valence_photo4,test_arousal_photo5,test_vale nce_photo5,test_arousal_photo6,test_valence_photo6 ,test_arousal_photo7,test_valence_photo7,test_arou sal_photo8,test_valence_photo8,test_arousal_photo9 ,test_valence_photo9,test_arousal_photo10,test_val ence_photo10,date) values ('" . $_SESSION['id_user']. "','" . $_POST['username']. "','" . $_POST['password']. "', '" . $_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())" );
    $query= @mysql_query($sql) or die (mysql_error());
    echo "
    Registrazione effettuata.";
    }
    @mysql_close($connection);
    ?>
    </body>
    </html>

  2. #2
    succede che ogni volta che mi connetto al database, tipo per controllare l'utente, o magari solo per l'iscrizione, ovviamente mi incrementa di uno.
    Ovviamente???
    Se ti colleghi al DB per fare dei controlli ti serve una query di SELECT, mentre se se ti incrementa di 1 l'ID significa che fai una INSERT.

    Il tuo script invece, dovrebbe fare altro: cioè l'iscrizione del tuo utente.
    Vedo però che ad un certo punto dello script compaiono delle variabili ($_SESSION['test_valence_photo1']) che non capisco da dove vengano.

    Concludo: non riesco a capire dove sta il tuo problema.
    Nello script di iscrizione? In un altro script che qui non hai riportato?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    le variabili ($_SESSION['test_valence_photo1']) sono quelle che mi porto dietro dalla sessione e che devo inserire nel db con i valori..

  4. #4
    Scusa eh... ma il tuo script non si occupa di fare una registrazione di un utente?

    Mi sa che fai un po' di confusione.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    si occupa sia della registrazione, sia delle variabili di sessione che mi porto dietro dall'inizio, questo perchè la registrazione avviene alla fine e non all'inizio

  6. #6
    ecco adesso con lo stesso script inserisce solo username e password e si dimentica completamente delle sessioni.
    alla schermata di registrazione dice:

    Notice: Undefined index: username in c:\programmi\easyphp1-8\www\register2.php on line 21

    Notice: Undefined index: password in c:\programmi\easyphp1-8\www\register2.php on line 22

    Notice: Undefined index: repassword in c:\programmi\easyphp1-8\www\register2.php on line 23

    Compila correttamente tutti i campi


    mando il mio sito cosi' potete avere un'idea
    http://www.giorgiodp.netsons.org/

  7. #7
    Ho fatto il test e sotto alla form di iscrizione (vicino al tasto Invia) leggo "Could not connect to server.".

    Sicuro che non ci siano altri problemi?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    grazie per l'interessamento.
    si, non si collega al server dato che è tutto in locale ancora il login e la registrazione.
    ho modificato un po' lo script e sembra funzionare meglio, ma nn del tutto dato che ora il mio problema è che mi scrive :

    la query è vuota

    dopo aver mantenuto determinati dati attraverso una sessione, decido di far registrare l'utente quindi:

    <?php
    session_start();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>

    <p align="left">

    <title>prueba emociones</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>





    <p align="center"> <font size="+4">

    values

    <html>
    <head>
    <title>Iscriviti</title>
    </head>
    <body>
    <form action="register2.php" method="POST" name="register">
    Username<input type="text" name="username">

    Password<input type="password" name="password">

    Verifica password<input type="password" name="repassword">

    <input type="submit" value="Iscriviti">

    </body>
    </html>
    <?php
    $_SESSION['test_valence_photo10'] = $_GET['test_valence_photo10'];

    ?>

    poi l'utente si registra e vorrei che inserisca tutto nel database, compresi i dati di sessione, quindi gli dico che le variabili di sessione che ho portato avanti con $_GET vengano immesse nel database con $_SESSION e il nome di ogni variabile, pero' vorrei inserire anche le utlime due variabili passate con $_POST della registrazione quindi:
    . $_POST['username']. "','" . $_POST['password'].

    alla fine pero' di tutto, mi dice che l query è vuota.




    <?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 '
    Compila correttamente tutti i campi';
    }
    else if ($psw !== $repsw)
    {
    echo "
    Controllare la password digitata.";
    }
    else if ($veruser !== 0)
    {
    echo "
    L'username richiesto risulta già registrato";
    }
    else if (eregi("[:,;èéçòà =()]", $username))
    {
    echo "
    Il nick contiene caratteri non validi.";
    }
    else
    {
    $inserimento=mysql_query( "insert into messaggi (id_user,username,password,user,gender,date_of_bir th,country,test_arousal_photo1,test_valence_photo1 ,test_arousal_photo2,test_valence_photo2,test_arou sal_photo3,test_valence_photo3,test_arousal_photo4 ,test_valence_photo4,test_arousal_photo5,test_vale nce_photo5,test_arousal_photo6,test_valence_photo6 ,test_arousal_photo7,test_valence_photo7,test_arou sal_photo8,test_valence_photo8,test_arousal_photo9 ,test_valence_photo9,test_arousal_photo10,test_val ence_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())" );
    $query= @mysql_query($sql) or die (mysql_error());
    echo "
    Registrazione effettuata.";
    }
    @mysql_close($connection);
    ?>
    </body>
    </html>

    come correggo lo script di inserimento?

  9. #9
    :master: Allora dunque......

    Prima di mandare in esecuzione la query, vedi se ti arrivano le variabili allo script.
    Mandale in echo e vedi cosa trovi:

    Manda anche in echo la stringa SQL e vedi se manca qualcosa.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    le variabili username e password sono mandate correttamente in echo.
    dice sempre pero' che la query è vuota, credo non sia corretto lo script per inserire nel database.pero' boh dove sbaglio..

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.