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

    problema pagina di Login

    Ho un problema con il login.Non mi trova l'utente nonostante nella tabella c'è.

    Codice PHP:
    <?
    session_start
    ();
    mysql_connect(localhost,utente,****);
    mysql_select_db("my_db") or Die ("Connessione al database fallita");

    $username=mysql_real_escape_string($_POST['username']);
    $password=mysql_real_escape_string($_POSt['password']);
    $dati"SELECT id FROM profilo WHERE username='$username' AND password='$password'";

    $esi=mysql_query($dati);
    if (
    $row=mysql_fetch_array($esi))
    {
    $_SESSION['id']=$row['id'];
    header("Location: paginaprofilo.php");
    }
    else
    {
    header("Location: loginfallito.php");
    }
    ?>
    l codice è questo, crea la connessione, cerca nella tabella l'id che corrisponde a username e password inseriti e se esiste memorizza l'id con le sessioni e manda verso un'altra pagina, altrimenti ti manda verso loginfallito.php... ma nonostante il username e password associati all'id 1 esistano, mi manda comunque su loginfallito.php. Forse ho sbagliato qualcosa nelle parentesi dell'IF?

  2. #2
    Codice PHP:
    ...
    if (
    mysql_num_rows($esi) == 1) {
        
    $row mysql_fetch_array($esi);
        
    $_SESSION['id'] = $row['id'];
        
    header("Location: paginaprofilo.php");

    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    anche con questa soluzione continua a mandarmi su loginfallito.php nonostante i dati che inserisco esistono in quella tabella... ho ricontrollato anche la parte sopra per vedere se ci fosse qualche errore banale ma niente..

  4. #4
    Originariamente inviato da sirmattia
    anche con questa soluzione continua a mandarmi su loginfallito.php nonostante i dati che inserisco esistono in quella tabella... ho ricontrollato anche la parte sopra per vedere se ci fosse qualche errore banale ma niente..
    Allora le possibilità sono 2. O non trova alcun risultato oppure ne trova più di uno!
    Fai un echo di $dati prima di eseguire la query.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Ottima idea! Ho trovato un errore di battitura sul form di inserimento..grazie mille! Dovrò utilizzare più spesso echo per trovare gli errori

  6. #6
    Originariamente inviato da sirmattia
    Ottima idea! Ho trovato un errore di battitura sul form di inserimento..grazie mille! Dovrò utilizzare più spesso echo per trovare gli errori
    Inoltre ti consiglio di aggiungere sempre la funzione mysql_error() all'esecuzione delle query così individuerai immediatamente eventuali errori sintattici o nella costruzione della query stessa:

    Codice PHP:
    ...
    $esi mysql_query($dati) or die ("Error: ".mysql_error());
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    grazie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.