Lezione Classe IV E SIA: Come loggarsi ed utilizzare le sessioni in PhP

In questo esercizio si usano sostanzialmente pochi accorgimenti per utilizzare un'area protetta in Php.

La pagina login.php viene utilizzata per inserire le credenziali di accesso all'area riservata.
(nel form action della pagina login.php
form   method="post" action="login2.php"
se inserisco login2.php, soltanto un utente potrà collegarsi se invece nell'action inserisco login3.php (form   method="post" action="login3.php")
allora permetterò a tre persone di collegarsi alla pagina riservata



login.php
<html>
<head>
<title>Login Area</title>
</head><body>
<?php

if(isset($_GET['error_login']))
{
echo "Error ,please compile correctly the form!";
}
?>
<form   method="post" action="login3.php">
<table>
<tr>
<td>Username</td>
</tr>
<tr>
<td><input type="textbox" name="user" id="user" /></td>

</tr>
<tr>
<td>Password</td>

</tr>
<tr>
<td><input  type="text" name="pass" id="pass"/></td>

</tr>
<tr>
<td><input  type="submit" value="Log In" /></td>
</tr>
</table>
</form>
</body>
</html>


Login2.php
(solo un utente può entrare nell'area riservata)

<?php

session_start();

$user="ciccio";

$pass="12345";


$page_to="page.php";

if(isset($_POST['user']) && isset($_POST['pass']))

{

if( $_POST['user']==$user && $_POST['pass']==$pass)

{

$_SESSION['isLogged']="true";

header("Location:".$page_to);

}

else

{

header("Location:login.php?error_login=1");

}

}

else

{

header("Location:login.php?error_login=1");

}
?>


page3.php
(tre utenti possono loggarti)
la pagina di destinazione è: $page_to="page.php";
<?php

session_start();

$utenti[0]["user"]="user1";
$utenti[0]["pass"]="pass1";
$utenti[1]["user"]="user2";
$utenti[1]["pass"]="pass2";
$utenti[2]["user"]="user3";
$utenti[2]["pass"]="pass3";

$page_to="page.php";
$isLogged=false;

if(isset($_POST['user']) && isset($_POST['pass']))
{
for($i=0;$i<count($utenti);$i++)   {
 
if( $_POST['user']==$utenti[$i]["user"] && $_POST['pass']==$utenti[$i]["pass"] )
 {
 $isLogged=true;
  }
  }
 
if($isLogged)
{
 $_SESSION['isLogged']="true";
 header("Location:".$page_to);
}
else
{
header("Location:login.php?error_login=1");
 }
  }
 else {
header("Location:login.php?error_login=1");
 }

?>


Page.php
    <?php

    session_start();
    if(!isset($_SESSION['isLogged']))
    {
    header("Location:login.php?error_login=1");
    }
    else {
    if($_SESSION['isLogged']!="true")
    {
    header("Location:login.php?error_login=1");
    }
    }
?>
<html>
<head>
</head>
<body>
<div>
 Utente Loggato!
</div>
</body>
</html>


Queste pagine usano le sessioni,
(lezione sulle sessioni: http://paololatella.blogspot.it/2014/12/le-sessioni-in-php.html" )dopo aver essersi loggato in ogni pagina php deve esserci questo script (è presente nella pagina page.php)

<?php

    session_start();
    if(!isset($_SESSION['isLogged']))
    {
    header("Location:login.php?error_login=1");
    }
    else {
    if($_SESSION['isLogged']!="true")
    {
    header("Location:login.php?error_login=1");
    }
    }
?>

questo script permette di verificare se sei loggato correttamente e di usare sostanzialmente la pagina.

Nella prima pagina del sito dovrete aggiungere il modulo form per consentire all'utente di entrare nell'area riservata.
Dopo aver inserito la password che trovate nelle pagine page2.php e page3.php dovente poter accedere all'area riservata, in una pagina di gestione (inserimento, visualizzazione, modifica, cancellazione e ricerca) che dovrà appunto contenere lo script della sessione (lo script appena spiegato). Attenzione, lo ripeto, questo script deve essere presente in ogni pagina dell'area riservata altrimenti non potrete accedervi.
Le pagine che devono avere lo script sono(menu di gestione, inserimento, ricerca, modifica, cancellazione e visualizzazione).

Link esercizio completo di Pietro Barich

Buon lavoro.
prof. Paolo Latella

Commenti