Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Gestione Login

  1. #1
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314

    Gestione Login

    Salve,

    ho letto diverse guide e diversi esempi su molti forum sia italiani che in lingua inglese ma nessuno ha risolto il mio problema.

    Sto lavorando in locale con PHP 5.3.8, mySQL ed Apache. Estensioni funzionanti così come le sessioni sono attive.

    Ho la classica tabella utenti con ID, User, password, email e tipo account..

    Ho una pagina di login con questo codice:

    Codice PHP:
    <?php 
    session_start
    (); 
    ?> 
    <html> 
    <head>     
    <title>Page Title</title> 
    </head>  
    <body> 
    <form action="elabora.php" method="post">     
    <input type="text" name="nome">    
    <input type="password" name="psw">     
    <input type="submit" name="submit" value="invia">  
    </form> </body> </html>
    E' scarno ma è solo il punto di partenza.
    Questa pagina punta ad un'altra (elabora.php) il cui testo iniziale è questo

    Codice PHP:
    <?php session_start(); 
    $utente $_POST['nome']; 
    $psw$_POST['psw']; 
    $psw =  md5(md5($psw));
     
    $mysqli = new mysqli('localhost''root''password''utenti'); 
    $result $mysqli->query("SELECT * FROM utenti WHERE User= '$utente' and Password = '$psw'"MYSQLI_USE_RESULT);
    Il mio problema è gestiore il Loggato o meno; l'idea che avevo in mente era quella di controllare se esiste una combinazione utente password e da qui gestire una sessione con valore booleano che mi dice se ho fatto o meno il login.

    Ho provato con
    • if ($result=true)
    • $numrows = mysql_num_rows($result); if numrows > 0
    • $row_cnt = $result->num_rows;

    tutti questi tentativi (onestamente fatti a caso) mi danno come risultato lo stesso valore sia che io inserisca una coppia valida e presente nel DB sia che metta una coppia totalmente inventata.

    Grazie Daniele

  2. #2
    Dopo aver controllato con una query che quell'utente esiste realmente e che la pass associata sia quella, recuperi con un while l'id dell'utente ($row['id']) e lo setti come variabile di sessione
    $_SESSION['id']=$row['id'];
    Detto questo starti la sessione, e se essa non sarà nulla allora l'utente è loggato.

  3. #3
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Grazie! Sono riuscito a risolvere togliendo anche il MYSQLI_USE_RESULT.

    La domanda che mi rimane è: Le sessioni si chiudono, oltre in maniera manuale anche in maniera automatica quando chiudo il browser, giusto ??

    Se voglio che un utente rimanga collegato anche in futuro devo usare i cookies ??

    Mi sbaglio o è vero..

  4. #4

    Re: Gestione Login

    Originariamente inviato da danlupo
    tutti questi tentativi (onestamente fatti a caso) mi danno come risultato lo stesso valore...
    ...che sarebbe?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da danlupo
    ...Le sessioni si chiudono, oltre in maniera manuale anche in maniera automatica quando chiudo il browser, giusto ??

    Se voglio che un utente rimanga collegato anche in futuro devo usare i cookies ??

    Mi sbaglio o è vero..
    Non sbagli.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.