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

    Problema login semplice usando le sessioni...

    Sto cercando di imparare ad usare i cookie e le sessioni.. Volevo realizzare una semplice pagina di login (login.php) che contiene una form dove inserire username e password. Il sistema controllerà che i dati inseriti siano corretti (confrontandoli con la lista degli utenti registrati nel file config.inc), dopodichè se i dati sono sbagliati si riaprirà il login, altrimenti si apriràla pagina insidepage.php che darà semplicemente il benvenuto all'utente e dove c'è un contatore che fa vedere quante volte quell'utente è acceduto alla pagina.

    Purtroppo però non mi funziona A dire la verità una volta mi ha funzionato e mi ha fatto loggare, poi però ho premuto logout in insidepage.php e quando sono riandata successivamente a loggarmi con lo stesso nome utente o anche con l'altro mi riappare il login con i campi vuoti come se i dati non fossero corretti...oppure non mi sembra di aver cambiato il codice da allora...

    Comunque questo è il file login.php:


    <?php
    require 'config.inc';

    if(!empty($_REQUEST['username']) && !empty($_REQUEST['password'])) {
    $user = trim($_REQUEST['username']);
    $pass = trim($_REQUEST['password']);

    /* check if user is defined with the given password */

    if($Users[$user]==$pass) {
    // Setting Session
    session_start();
    $_SESSION['user'] = $user;

    // Redirecting to the logged page.
    header("Location: insidepage.php");
    } else {
    // Wrong username or Password. Show error here.
    header("Location: login.php?error=yes");
    }
    } else {
    /* no login data: send login form */
    ?>


    <HTML>
    <HEAD>
    <TITLE>Login page</TITLE>

    </HEAD>
    <BODY>


    <H2>User Login</H2>
    <FORM action="insidepage.php" method="POST">
    Username <INPUT type="text" name="username" size="15"/>

    Password <INPUT type="password" name="password" />

    <INPUT type="submit" />
    </FORM>

    <?php
    }
    ?>
    </BODY>
    </HTML>




    QUESTO INVECE è IL FILE config.inc :

    [COLOR= red]

    <?php
    $Users = array (
    "pippo" => "1234",
    "pluto" => "1233"
    );

    ?>

    [/COLOR]


    QUESTO è IL FILE insidepage.php :




    <?php
    // Starting the session
    //session_start();
    if(empty($_SESSION['user'])) {
    // Code for not Logged members

    header("Location: login.php");
    } else {
    /* valid user */
    /* count number of accesses */
    if(isset($_SESSION['insidecnt'])) {
    $_SESSION['insidecnt']++;
    } else {
    $_SESSION['insidecnt']=1;
    }
    }
    ?>
    <HTML>
    <HEAD>
    <TITLE>Welcome page</TITLE>
    </HEAD>
    <BODY>
    <?php
    echo "<H1>Welcome ". $_SESSION['user'] ."</H1>";
    echo "You reloaded ". $_SESSION['insidecnt'] .
    " times this page in your current session";
    ?>

    Logout
    </BODY>






    per completezza aggiungo anche il logout:



    <?php
    session_start();
    session_destroy();
    if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
    }
    header("Location: login.php");
    ?>

  2. #2
    guarda...ti consiglio di usare il database per la memorizzazione degli utenti...ti semplifichi la vita
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    lo so..questa era solo una soluzione semplice con due utenti memorizzati in file, ma mi serve solo per provare le sessioni e illogin...ovvio che dopo userò il database ma se non mi funziona nemmeno così è inutile che vo avanti...!

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.