Visualizzazione risultati 1 fino 5 di 5

Discussione: sistema login: non parte la sessione

  1. #1
    Guest

    Predefinito sistema login: non parte la sessione

    salve ho realizzato questo sistema per il login:
    Codice PHP:
    function login ()
    {
    $nick=$_POST['nick'];
    $pass=$POST['pass'];
    if (
    $user && $pass )
    {
    $nick = mysql_real_escape_string($nick);
    $pass = mysql_real_escape_string($pass);
    $sql = "SELECT * FROM utenti WHERE nick = `$nick` AND pass = `$pass`";
    $res = mysql_query($sql) or die (mysql_error());
    $num_utenti = mysql_num_rows($res);
    if (
    $num_utenti == "1")
    {
    session_start();
    $_SESSION['id'] = $utente['id'];
    $_SESSION['nick'] = $utente['nick'];
    $id24 = $_SESSION['id'];
    $num_cas = rand(1,100000);
    $md5_num_cas = MD5 ($num_cas);
    $_SESSION['sid'] = $md5_num_cas;
    mysql_query ("UPDATE utenti SET sid = `$md5_num_cas` WHERE id= `$id`");
    $utente = $row = mysql_fetch_array($res) or die(mysql_error());


    if (!
    $id24 == "")
    {
    echo
    "ti sei loggato! P.S. il tuo id è $id24"; // questa parte l'ho messa appositamente per accertarmi che funzioni
    }
    else {
    echo
    "errore";
    }
    }
    }
    }
    form e richiamo della funzione:
    Codice PHP:
    $log = $_GET['log'];
    if (!
    $reg =="1")
    {
    $pagina = $_SERVER['PHP_SELF'];
    echo
    "
    <form action=
    $pagina?log=1 method=post> nick: <input type=text name=nick style=width:50px><br /> pass: <input type=password name=pass style=width:50px> <br /><input type=submit value=login></form><br />";
    }
    if (
    $log == 1)
    {
    login();
    }
    ma non funziona :( semplicemente non parte la sessione .-. dove ho sbagliato?
    Ultima modifica di giochifighi : 09-12-2010 alle ore 22.31.46

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Laconico di natura? Paghi la connessione a caratteri digitati ?

    Usi $_SESSION prima di chiamare session_start(), aka non hai letto la guida del php.

  3. #3
    Guest

    Predefinito

    lololol che sbadato .-. comunque ho corretto ma non funziona comunque

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    E chi lo sa. Quel pezzo di codice è probabilmente qualcosa di più grande, e senza quello non si può capire. Dove chiami la funzione login()? Ci sono i parametri? C'è un form?

    Metti echo qua e la, fai dei print_r($_SESSION) per assicurarti di cosa c'è dentro, e vedrai che scovi il problema

  5. #5
    Guest

    Predefinito

    ho provato molto oggi ma ancora niente
    P.S. ho aggiunto tutto quello che riguarda il form
    ho modificato il codice della funzione in questo modo:
    Codice PHP:
    function login ()
    {
    $nick=$_POST['nick'];
    $pass=$POST['pass'];
    $nick = mysql_real_escape_string($nick);
    $pass = mysql_real_escape_string($pass);
    $sql = "SELECT * FROM utenti WHERE nick = '$nick' AND pass = '$pass'";
    $res = mysql_query("$sql") or die (mysql_error());
    $num_utenti = mysql_num_rows("$res");
    if (
    $num_utenti == "1")
    {
    $utente = mysql_fetch_array($res) or die(mysql_error());
    session_start();
    $_SESSION['id'] = $utente['id'];
    $_SESSION['nick'] = $utente['nick'];
    $num_cas = rand(1,100000);
    $md5_num_cas = MD5 ($num_cas);
    $_SESSION['sid'] = $md5_num_cas;
    mysql_query ("UPDATE utenti SET sid = `$md5_num_cas` WHERE id= `$id`");

    $id24 = $_SESSION['id'];
    echo
    "ti sei loggato! P.S. il tuo id è $id24";
    print_r($_SESSION);
    }
    else {echo
    "nessun utente trovato";}

    }
    e funziona ma poi mi dà che non sono stati trovati risultati .-. io in realta ne ho inserito uno apposito nome utente a password a per provare ma comunque non lo trova perchè?
    Ultima modifica di giochifighi : 12-12-2010 alle ore 00.48.48

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •