• User Attivo

    non avevo visto.
    grazie, corro a leggere.:ciauz:


  • Consiglio Direttivo

    Di nulla 😉

    per ogni dubbio siam sempre quì 😉


  • User Attivo

    ciao,

    ho letto e messo lo script, funziona,ovviamente..
    il problema è che giustamente mi dice:

    "Non hai fatto il login correttamente, mi spiace riprova o iscriviti"

    questo perchè non cè nessun usaername e password nel database, quindi avrei bisogno di creare il file register.php , al quale mi manda cliccando su "iscriviti".
    mi aiuteresti in questo step?
    grazie in anticipo


  • Consiglio Direttivo

    beh, non è difficile farlo

    Hai bisogno di una pagina con il form di immissione dati di iscrizione, un qualcosa del genere:
    [html]<form action="register.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">[/html]

    e poi il file register.php vero e proprio:
    [php]<?
    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']);

    // verifiche di controllo e sicurezza e quindi scrivi sul Db

    $sql = "INSERT INTO utenti (username, password) VALUES ('$username', '$psw')";
    $query= @mysql_query($sql) or die (mysql_error());
    @mysql_close($connection);
    ?>[/php]

    Questa è una versione semplice e SENZA sicurezze.
    Se vuoi implementare delle sicurezze, cosa da fare anche sulla pagina di login, bisognerà immettere lì dove ho messo il commento di controllo e verifiche di sicurezza un po' di cose e molte dipendono dalle tue scelte. Puoi addirittura decidere di fare un'iscrizione con username e e-mail, inviando la password alla mail dell'utente, password che generera' il tuo codice stesso.

    Restando sul fatto di registrarsi con utente e psw, il primo controllo da fare è che $username e $psw abbiano un valore e che la psw ridigitata sia uguale:
    [php]if ($username!="" && $psw!="" && $repsw!=""){
    if ($psw===$repsw){
    // allora passiamo al prossimo controllo/verifica
    } else {
    echo "Controlla la password digitata";
    }
    } else {
    echo "Devi compilare tutti i campi per poterti registrare";
    }[/php]

    Il prossimo passo è quello di evitare le SQL injection, la password è hashata quindi non ci sono problemi, ma il campo username e anche troppo facilmente attaccabile. Le scelte sono diverse, potresti evitare a priori l'iscrizione con username che contengano caratteri *sensibili *(' , " , < , > , &) o passare l'username da una funzione che modifichi questi caratteri in entità html (vedi htmlentities() o htmlspecialchars() nella sezione Funzioni PHP 😉 ) e lo stesso dovrai fare per la pagina di login.
    Già così hai fatto qualcosa per la sicurezza dello script, cosa implementare come verifiche dipende dalle scelte che farai 😉


  • User Attivo

    dunque...innanzitutto grazie, pero' il problema è leggermente più complicato, cerco di spiegarmi meglio:
    questa è la terzultima pagina di script del mio test:

    <?php
    session_start();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

    <html>
    <head>
    <p align="left">
    <title>prueba emociones</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <BR>
    <BR>
    <p align="center"> <font size="+4"><BR> <BR><A HREF=salvastep/values</A>sceglie se finire il test e vedere i valori
    <p align="center"> <font size="+4"><BR> <BR><A HREF="login....</A>login
    </body>
    </html>
    <?php
    $_SESSION['test_valence_photo10'] = $_GET['test_valence_photo10'];
    ?>

    questa la penultima:

    <?php
    session_start();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Skyline">
    <title>Login</title>
    </head>
    <body>
    <form action="register.php" method="POST" name="register">
    Username<input type="text" name="username">
    Password<input type="password" name="password">
    <input type="submit" value="Iscriviti">
    </body>
    </html>

    poi l'ultima:

    <?php
    session_start();
    ?><?
    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);

    /* Acquisizione Variabili Registrazione Da Register.php /
    $username = @$_POST['username'];
    $password = @$_POST['password'];
    $_SESSION['username'] = $_GET['username'];
    /
    Impostazioni Su Variabili acquisite */
    // Criptazione MD5 Password
    $passwordcript = md5('$password');
    // Controllo: Rimpiazziare Caratteri Su Variabili Acquisite
    $username = str_replace("<", "<", $username);
    $username = str_replace(">", ">", $username);
    $password = str_replace("<", "<", $password);
    $password = str_replace(">", ">", $password);
    // Controllo: Eliminare Spazi [Inizio - Fine] Su Variabili Acquisite
    (trim($username) == "");
    (trim($password) == "");
    // Controllo: Verifica Lunghezza Variabili Acquisite
    if (strlen($username) < 6 or strlen($password) < 6) {

    $WarnUsr = "<strong>Username</strong> o <strong>Password</strong> troppo corti. La loro lunghezza minima è di 6 caratteri.";

    echo "$WarnUsr";
    }
    // Esecuzione Query Di Inserimento In Database Mysql
    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 ('" . $_SESSION['id_user']. "','" . $_SESSION['username']. "','" . $_SESSION['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())" );

    echo "La registrazione è avvenuta correttamente. Adesso puoi effettuare il login.";
    }

    ?>

    il mio scopo è poter inserire la registrazione degli utenti alla fine del test, quindi alla penultima pagina possono scegliere se registrarsi e godere dei benifici oppure non registrarsi e finire il tutto.
    Qualora scegliessero di registrarsi, avendo creato una sessione, devo per forza di cosa ricordarmi di tutti i dati inseriti dall'utente che ha effettuato il test, quindi aspettare che si registri con la propria username e password, controllare che non sia già iscritto l'username e mandare tutto in registrazione al database che alla fine elaborerà i risultati .

    grazie della pazienza.:fumato:


  • Consiglio Direttivo

    Per tirarti dietro i risultati puoi utilizzare vari modi o le sessioni o un hidden data magari (ti sconsiglio vivamente di usare $_GET)

    Per verificare che non esista già l'username dovrai fare un
    [php] "SELECT username FROM utenti WHERE username='$username'";[/php]
    se la query restituisce un valore significa che l'username è già esistente 😉


  • User Attivo

    dunque..ho risolto la parte delle sessioni, cosi' ora inserisco tutto alla fine.
    fatto tutto con $_GET.

    questo è il codice finale nella pagina del login, ora mi rimane da mettere delle sicurezze e soprattutto la verifica che l'username non sia già presente e se presente farglielo sapere.
    infine,come potrei gestire un invio automatico di email se l'utente richiede la password?
    grazie davvero!

    <?php
    session_start();
    ?><?

    /* Acquisizione Variabili Registrazione Da Register.php /
    $_SESSION['username'] = $_GET['username'];
    $_SESSION['password'] = $_GET['password'];
    /
    Impostazioni Su Variabili acquisite */
    // Criptazione MD5 Password
    $passwordcript = md5('$password');

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $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 ('" . $_SESSION['id_user']. "','" . $_SESSION['username']. "','" . $_SESSION['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())" );

    ?>


  • Consiglio Direttivo

    Come dicevo poco fa' ....... utilizza quello che vuoi ma NON $_GET per inviare i dati.
    Senno' tanto vale che lasci accesso libero :fumato:

    Utilizzare $_GET è come mettere una copia delle chiavi di casa sotto il tappetino di Welcome che hai all'esterno 😄


  • User Attivo

    ma ho utilizzao $_GET per tutte le sessioni... devo ricambiare tutto?
    se utilizzo $_POST è meglio?


  • Consiglio Direttivo

    Come potrai vedere dalle FAQ di sezione utilizzare il metodo GET, se parliamo di sicurezza, è la prima cosa che devi evitare dato che i dati vengono passati IN CHIARO tramite url.
    Si, il metodo POST è decisamente meglio, dato che passa i valori in background, ma occhio, ricordati di inizializzare sempre le variabili prima di usarle in uno script
    [php]$username=""; // variabile inizializzata[/php]

    :ciauz:


  • User Attivo

    grazie mille, trasformero' tutto in POst allora.
    ultima cosa prima di chiudere oggi......
    come posso impedire all'utente di tornare indietro nelle pagine?


  • Consiglio Direttivo

    a che io sappia non puoi impedirlo a 360°, anche se fai sparire la barra di navigazione l'utente dovrebbe comunque avere la possibilità di farlo tramite click destro.
    Forse puoi prevedere un alert Js, ma ripeto, non mi è mai capitato, potrei sbagliarmi (anzi è molto probabile) 😉


  • User Attivo

    ho un problema con il login:
    se lo faccio dal browser in cui ho messo password e username me lo ricorda con le sessioni, se pero' chiudo e riapro, sembra non riesca a trovare nel database l'utente con quei valori...

    index:

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Skyline">
    <title>Login</title>
    </head>
    <body>
    <form action="login.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
    <input type="text" value="Username" size="20" maxlength="20" name="username" /><br />
    <input type="password" value="Password" size="20" maxlength="20" name="password" /><br />
    <input type="submit" value="Login" name="Submit" />
    </form>
    </body>
    </html>

    login:

    <?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
    $query = mysql_query("SELECT username FROM utenti WHERE username = '".$_POST['username']."' AND password = '".md5($_POST['password'])."'");
    //se esegue la query entra nell'IF
    if($query)
    {
    //metto l'username nella variabile di sessione "username"
    $_SESSION['username'] = $_POST['username'];
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    else
    {
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    ?>

    config:
    <?php
    session_start();
    $connection = mysql_connect( 'localhost', ) or die('Could not connect to server.' );
    mysql_select_db('guest_book', $connection) or die('Could not select database.');
    ?>

    login:

    <?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //se esiste la variabile $_SESSION['username'] è loggato
    if(isset($_SESSION['username']))
    echo "Benvenuto ".$_SESSION['username']." hai effettuato il login con successo<br />Puoi effettuare il logout";
    //Altrimenti non è loggato
    else
    echo "Non hai fatto il login correttamente, mi spiace <a href="index1.php">riprova</a> o <a href="register.php">iscriviti</a>";
    ?>

    logout:
    <?php
    //distruggo le sessioni per fare il logout
    session_destroy();
    echo "Logout effettuato";
    echo "<script>
    window.location = "index.php"
    </script>";
    ?>


  • Consiglio Direttivo

    Guarda come ti ha salvato i dati nel Db per prima cosa e poi fai un echo dei valori postati dalla pagina index.
    Vediamo se c'è qualcosa che non va 😉


  • User Attivo

    come lo richiamo l'echo da qui?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Skyline">
    <title>Login</title>
    </head>
    <body>
    <form action="login.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
    <input type="text" value="Username" size="20" maxlength="20" name="username" /><br />
    <input type="password" value="Password" size="20" maxlength="20" name="password" /><br />
    <input type="submit" value="Login" name="Submit" />
    </form>
    </body>
    </html>


  • User Attivo

    i dati sono stati già salvati con $_POST ma al richiamo dal login dice che non ci sono:bho:


  • User Attivo

    da qui non seleziona la tabella del db. potrebbe essere questo?

    <?php
    session_start();
    $connection = mysql_connect( 'localhost', ) or die('Could not connect to server.' );
    mysql_select_db('guest_book', $connection) or die('Could not select database.');

    ?>


  • Consiglio Direttivo

    ho fatto un po di modifiche è l'ho testato in locale, funge tutto 😉

    index.html
    [html]<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Skyline">
    <title>Login</title>
    </head>
    <body>
    <form action="login.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
    <input type="text" value="username" size="20" maxlength="20" name="username"><br>
    <input type="password" value="password" size="20" maxlength="20" name="password"><br>
    <input type="submit" value="Login" name="Submit">
    </form>
    </body>
    </html>[/html]

    login.php
    [php]<?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
    $username="";
    $psw="";
    $username=$_POST['username'];
    $psw=md5($_POST['password']);
    $query = mysql_query("SELECT username FROM utenti WHERE username='$username' AND password='$psw'") or die (mysql_error());
    $veruser = mysql_num_rows ($query);
    //se esegue la query entra nell'IF
    if($veruser !== 0)
    {
    //metto l'username nella variabile di sessione "username"
    session_start();
    $_SESSION['username'] = $_POST['username'];
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    else
    {
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    @mysql_close($connection);
    ?>
    [/php]

    config.php
    [php]<?php
    $connection = mysql_connect( 'localhost', 'userdb', 'pswdb') or die('Could not connect to server.' );
    mysql_select_db('dbname', $connection) or die('Could not select database.');
    ?>[/php]

    enter.php
    [php]<?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //se esiste la variabile $_SESSION['username'] è loggato
    session_start();
    if($_SESSION['username'] != "")
    {
    echo "Benvenuto ".$_SESSION['username']." hai effettuato il login con successo<br>Puoi effettuare il <a href="logout.php">logout</a>.";
    }
    //Altrimenti non è loggato
    else
    {
    echo "Non hai fatto il login correttamente, mi spiace <a href="index.html">riprova</a> o <a href="register.php">iscriviti</a>";
    }
    ?>[/php]

    logout.php
    [php]<?php
    //distruggo le sessioni per fare il logout
    session_start();
    session_unset();
    session_destroy();
    echo "Logout effettuato";
    echo "<script>
    window.location = "index.html"
    </script>";
    ?>[/php]

    register.php
    [php]<html>
    <head>
    <title>Iscriviti</title>
    </head>
    <body>
    <form action="register.php" method="POST" name="register">
    Username<input type="text" name="username"><br>
    Password<input type="password" name="password"><br>
    Verifica password<input type="password" name="repassword"><br>
    <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 utenti 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
    {
    $sql = "INSERT INTO utenti (username, password) VALUES ('$username', '$psw')";
    $query= @mysql_query($sql) or die (mysql_error());
    echo "<br>Registrazione effettuata.";
    }
    @mysql_close($connection);
    ?>
    </body>
    </html>[/php]

    Ci andrebbero altri controlli per eliminare SQL injection pero', ma già il grosso è fatto così 😉

    :ciauz:


  • User Attivo

    ciao, grazie per lo script.

    pero' io ho gia' una sessione attiva dato che la registrazione la devo mettere quasi alla fine di tutto, quindi mi dice:

    Notice: A session had already been started - ignoring session_start() in c:\programmi\easyphp1-8\www\config.php on line 2

    poi...
    La tabella 'guest_book.utenti' non esiste
    infatti la tabella si chiama messaggi e il db si chiama guest_book.

    index3:
    <?php
    session_start();
    ?>

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="Skyline">
    <title>Login</title>
    </head>
    <body>
    <form action="login2.php" method="post" enctype="application/x-www-form-urlencoded" name="login">
    <input type="text" value="username" size="20" maxlength="20" name="username"><br>
    <input type="password" value="password" size="20" maxlength="20" name="password"><br>
    <input type="submit" value="Login" name="Submit">
    </form>
    </body>
    </html>

    login2:
    <?php
    session_start();
    ?>
    <?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //Eseguo una query nella tabella utenti verificando se esiste l'username con quella password
    $username="";
    $psw="";
    $username=$_POST['username'];
    $psw=md5($_POST['password']);
    $query = mysql_query("SELECT username FROM utenti WHERE username='$username' AND password='$psw'") or die (mysql_error());
    $veruser = mysql_num_rows ($query);
    //se esegue la query entra nell'IF
    if($veruser !== 0)
    {
    //metto l'username nella variabile di sessione "username"
    session_start();
    $_SESSION['username'] = $_POST['username'];
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    else
    {
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    @mysql_close($connection);
    ?>

    config:
    <?php
    session_start();
    $connection = mysql_connect( 'localhost', ) or die('Could not connect to server.' );
    mysql_select_db('guest_book', $connection) or die('Could not select database.');
    ?>

    enter:
    <?php
    session_start();
    ?>
    <?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //se esiste la variabile $_SESSION['username'] è loggato
    session_start();
    if($_SESSION['username'] != "")
    {
    echo "Benvenuto ".$_SESSION['username']." hai effettuato il login con successo<br>Puoi effettuare il <a href="logout.php">logout</a>.";
    }
    //Altrimenti non è loggato
    else
    {
    echo "Non hai fatto il login correttamente, mi spiace <a href="index.html">riprova</a> o <a href="register.php">iscriviti</a>";
    }
    ?>

    logout:
    <?php
    session_start();
    ?>
    <?php
    //distruggo le sessioni per fare il logout
    session_start();
    session_unset();
    session_destroy();
    echo "Logout effettuato";
    echo "<script>
    window.location = "index.html"
    </script>";
    ?>

    register:

    <?php
    session_start();
    ?>
    <html>
    <head>
    <title>Iscriviti</title>
    </head>
    <body>
    <form action="register.php" method="POST" name="register">
    Username<input type="text" name="username"><br>
    Password<input type="password" name="password"><br>
    Verifica password<input type="password" name="repassword"><br>
    <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 utenti 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
    {
    <?

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);

    $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 ('" . $_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())" );

    mysql_close($connessione);
    ?>

    </body>
    </html>


  • User Attivo

    dunque, rispetto a prima che mi dava l'inesistenza della taballa utenti, giustamente l'ho cambiata in messaggi:

    <?php
    //includo il file di Configurazione con session_start()) dentro
    include "config.php";
    //Eseguo una query nella tabella messaggi verificando se esiste l'username con quella password
    $username="";
    $psw="";
    $username=$_POST['username'];
    $psw=md5($_POST['password']);
    $query = mysql_query("SELECT username FROM messaggi WHERE username='$username' AND password='$psw'") or die (mysql_error());
    $veruser = mysql_num_rows ($query);
    //se esegue la query entra nell'IF
    if($veruser !== 0)
    {
    //metto l'username nella variabile di sessione "username"
    session_start();
    $_SESSION['username'] = $_POST['username'];
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    else
    {
    //Faccio il redirect nella pagine enter.php
    echo "<script>
    window.location = "enter.php"
    </script>";
    }
    @mysql_close($connection);
    ?>

    adesso il problema è che mi visualizza questo:

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\config.php:8) in c:\programmi\easyphp1-8\www\enter.php on line 5

    Notice: Undefined index: username in c:\programmi\easyphp1-8\www\enter.php on line 6
    Non hai fatto il login correttamente, mi spiace riprova o iscriviti

    :arrabbiato: