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

    Problema codice php login [var. SESSION]

    Salve ragazzi ho un problema con l'implementazione del login nel mio sito, in poche parole ho creato un database in phpmyadmin (il sito si appoggia su quello) e col seguente frammento di codice interrogo il database per vedere se l utente che inserisce in un apposita form username e password esiste veramente.
    Il problema consiste nel fatto che la prima volta in cui accendo il pc e accedo col browser mi dice username o password errati (grazie agli alert presenti dopo l else) ma questo me lo fa solo la prima volta che accendo il pc (sempre) poi loggando sempre con gli stessi dati (presenti nel database) funziona (anche chiudendo e riaprendo il browser).
    Se pero spengo e riaccendo, il primo login fallisce sempre.
    Sareste cosi gentili da spiegarmi quale potrebbe essere il problema?

    <?php
    session_start();
    if (isset($_SESSION['user'])){
    require("connessione.php");
    $utente="Nessuno";
    $sqlcmd="SELECT * FROM utenti";
    $risultato=mysql_query($sqlcmd);
    if(!$risultato) echo "errore nel comando";
    else
    while ($riga=mysql_fetch_array($risultato))
    {
    if($riga["username"]==$_SESSION['user'])
    {
    echo "&nbsp&nbsp Benvenuto &nbsp";
    echo $riga["username"],"
    ";
    $coins=$riga["Monete"];
    }
    }
    }else {...........

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, non credo ci sia nessun problema, come si vede dal codice che hai scritto quando la variabile di sessione $_SESSION['user'] non esiste esegue la parte presente dopo l'else, quella dove tu hai gli alert. Ovviamente quando tu provi ad accedere per la prima volta il sistema crea la variabile e non ti si ripresenta più il problema. Quindi non c'è nessun problema è il corretto funzionamento del codice per come lo hai scritto.

  3. #3
    Ah ho capito..e per far si che al primo login la variabile SESSION sia già presente e quindi non mi dia l'errore quale modifiche al codice dovrei apportare?

  4. #4
    Semplicemente dopo che verifichi che le credenziali sono corretti aggiungi

    Codice PHP:
     $_SESSION['user']=$username//non so che variabile usi tu per l'username, se non è $username metti quella giusta 

  5. #5
    <?php
    session_start();
    if (isset($_SESSION['user'])){
    require("connessione.php");
    $utente="Nessuno";
    $sqlcmd="SELECT * FROM utenti";
    $risultato=mysql_query($sqlcmd);
    if(!$risultato) echo "errore nel comando";
    else
    while ($riga=mysql_fetch_array($risultato))
    {
    if($riga["username"]==$_SESSION['user'])
    {
    $_SESSION['user']=$riga["username"];
    echo "&nbsp&nbsp Benvenuto &nbsp";
    echo $riga["username"],"
    ";
    $coins=$riga["Monete"];
    }
    }
    }else {...........

    cioe cosi?? o va dopo if(isset...) ??

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.