Visualizzazione risultati 1 fino 4 di 4

Discussione: Non esegue il Login

  1. #1
    modugnoweb non è connesso Utente giovane
    Data registrazione
    24-12-2012
    Messaggi
    50

    Predefinito Non esegue il Login

    Salve a tutti, sto cercando di creare nel mio sito web il login per accedere a delle pagine protette ma non riesco a capire il perchè non funziona. Spero che qualcuno di voi mi aiuti in quanto sono 2 giorni che provo e riprovo ma sembra che la sessione non si apre o muore sul nascere .

    In pratica il mio scopo è quello di inserire ad un lato nella mia home la classica tabbellina dove inserire username e pw e far in modo che questa sparisca una volta che si è eseguiti correttamente il Login, in caso contrario essere spediti su una pagina di errore login.

    Nel file index.php ho inserito il seguente codice:

    Codice PHP:

    <?php
    session_start
    ();

    session_regenerate_id(TRUE);

    if (!isset(
    $_SESSION['user'] ) )
    {

    ?>
    <form name="login" method="post" action="config.php">
    <label for="imUname"><span style="font-family:Tahoma; font-size:10pt; color: #000000">Username:</span></label><br />
    <input type="text" name="imUname" id="imUname" style="border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100px"><br />
    <label for="imPwd"><span style="font-family:Tahoma; font-size:10pt; color: #000000">Password:</span></label><br />
    <input type="password" name="imPwd" id="imPwd" style="border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100px"><br />
    <input type="submit" value="Login" style="border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000">
    </form>
    <?
    }
    else
    {
    echo
    "Benvenuto ".$_SESSION['user'];
    }
    ?>
    dopodichè ho creato il file config.php :

    Codice PHP:
    <?php

    session_start
    ();

    session_regenerate_id(TRUE);

    $Utente_Ins = $_POST['imUname'];
    $Password_Ins = $_POST['imPwd'];

    $username="username";
    $password="password";
    $database="my_database";

    mysql_connect(localhost,$username,$password);

    @
    mysql_select_db($database) or die("Impossibile selezionare il database.");
    $query="SELECT * FROM Registrati WHERE Username = '$Utente_Ins' AND Password = '$Password_Ins'";
    $risultati=mysql_query($query);

    $num=mysql_numrows($risultati);

    mysql_close();


    if (isset(
    $_POST['imUname']) && isset($_POST['imPwd']))
    {
    if (
    $num <> 0)
    {
    $_SESSION['user'] = $imUname;
    $_SESSION['password'] = $imPwd;
    header("location: index.php");
    }
    else
    {
    header("location: Login_Errato.html");
    exit;
    }
    }



    ?>
    il tutto sembra che funzioni in quanto se inserisco username e password sbagliati vengo spedito alla pagina Login_Errato.html ma la questione è che inserisco username e password corretti vengo si spedito nuovamente nella home del mio sito (index.php) ma invece di vedere la scritta "Benvenuto ecc..." compare nuovamente la finestrella del Login.

    Facendo diverse prove sembra che la sessione non si apre ma forse c'e' qualche errore proprio di logica in cio' che ho scritto nella index.php.

    Mi potreste aiutare gentilmente? Grazie

  2. #2
    Guest

    Predefinito

    $_SESSION['user'] = $imUname;
    $_SESSION['password'] = $imPwd;

    Scusa ma io non vedo da nessuna parte $imUname e $imPwd, vedo solo
    $Utente_Ins = $_POST['imUname'];
    $Password_Ins =$_POST['imPwd'];

    prova a cambiare

    $_SESSION['user'] = $imUname;
    $_SESSION['password'] = $imPwd;

    con

    $_SESSION['user'] = "$Utente_Ins";
    $_SESSION['password'] = "$Password_Ins";

    Perchè per come lo hai scritto tu, pare che nella sessione del server non registri nulla in quanto i dati presi dal form li memorizza come $Utente_Ins e $Password_Ins e non come $imUname e $imPwd..

  3. #3
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Riguardati il funzionamento della session_regenerate_id e soprattutto del suo unico parametro $delete_old_session che metti a true.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  4. #4
    modugnoweb non è connesso Utente giovane
    Data registrazione
    24-12-2012
    Messaggi
    50

    Predefinito

    Grazie italyan era proprio quello l'errore, ora finalmente funziona;
    saitfainder l'ho cancellato session_regenerate_id perchè appunto approfondiro' bene il suo utilizzo.
    Grazie a tutti per l'aiuto.

Regole di scrittura

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