Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    66

    Problema con sessioni login

    salve ho scritto questo semplice codice per poter fare il login con le sessioni, ma non funziona... dopo che premo per fare il login mi manda sempre nella pagina di errore, il problema e' che la variabile di sessione non viene registrata... è sempre vuota... mi sapete dire perche?


    pagina login...
    <?php
    session_start();
    $_SESSION['Username'] = "";

    if (isset($_POST['user'])){
    if(connectToDb()){
    $user = trim(htmlentities($_POST['user']));
    $pass = trim(htmlentities($_POST['pwd']));
    $query = "SELECT * FROM Admin WHERE User='$user' AND Pass='$pass'";
    $result = mysql_query($query);
    if ($result && mysql_num_rows($result) == 1){
    $row = mysql_fetch_row($result);
    $_SESSION['Username']=$user;
    //$_SESSION['Pass']=$row[1];
    print($_SESSION['Username']." ".mysql_num_rows($result));
    header('location:verifica.php');
    }else{
    header('location:login_failed.php');
    }
    }else{
    print('Errore DB');
    }
    }

    ?>

    <html>
    <head>
    <title>Esempio login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body onLoad="document.form1.user.focus()">
    <form name="form1" method="POST" action="verifica.php">
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>Nome utente: </td>
    <td><input name="user" type="text" id="user"></td>
    </tr>
    <tr>
    <td>Password: </td>
    <td><input name="pwd" type="password" id="pwd"></td>
    </tr>
    <tr>
    <td colspan="2"><input name="Submit" type="submit" value="Entra"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    pagina verifica.php

    <?php
    // Controllo accesso
    session_start();
    if ($_SESSION['Username'] == ""){
    header('location:login_failed.php');
    exit;
    }
    //codice pagina in caso di effettuato login....


    AIUTOOOOOOOOOOOOOOO
    ArdDes Art of Web Design... www.arddes.it

  2. #2
    forse dovresti riscrivere il codice, dandogli una bella sfoltita e ripulita....la prima sessione che identifica l' utente è nulla..guarda un pò
    Marco Chirico
    Applicazioni Server Side
    http://www.fdesigngroup.it

  3. #3
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Ma scusa tu invii i dati del form a verifica.php:

    <form name="form1" method="POST" action="verifica.php">

    Ma in realtà in verifica.php mica fai il controllo nel db e inizializzi la sessione... quello lo fai nella pagina stessa del form.

    Nella pagina del form tu cerchi nel db dei valori passati con $_POST che sono sicuramente nulli perchè non passi niente a questa pagina.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    66
    mmm acuta osservazione! in effetti hai ragione! quella era una cosa sbagliata...

    solo che ora mi da un warning e non funziona il reindirizzamento!!!

    warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.ilfantacalcio.info/htdocs/Admin/admin.php:16) in /home/mhd-01/www.ilfantacalcio.info/htdocs/Admin/admin.php on line 17


    non gli sta bene l'istruzione

    header('location:http://www.ilfantacalcio.info/Admin/verifica.php');

    ho provato anche con

    header('location:verifica.php');

    ma niente!!

    altri consigli??
    ArdDes Art of Web Design... www.arddes.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    66
    iuhhhuuu ho risolto!

    il warning era causato da un print() che facevo prima... ora funge!!!
    ArdDes Art of Web Design... www.arddes.it

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.