In questo breve tutorial verrà descritto il metodo per creare un’ area protetta in php utilizzando i cookie per memorizare il corretto login. L’username e la password verranno memorizzati in un file con estensione php di modo che non possano essere visualizzati dagli utenti.
Innanzitutto bisogna creare il form per effettuare il login che dovrà essere inserito nella pagina:
<form method="post" action="login.php">
Username:
<input type="text" name="user" id="user" /><br />
Password:
<input type="password" name="pass" id="pass" /><br /><br />
<input type="submit" value="Effettua il login" />
<input type="reset" value="Cancella" />
</form>
Dopo aver riempito il form e cliccato sul pulsante "Effettua il login", i dati inseriti verranno inviati alla pagina di verifica chiamata "login.php" che avrà questo contenuto:
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
$username = "vinzPlanet";
$password = "1234567890";
//Recupero dell'username e della password
$user = $_POST["user"];
$pass = $_POST["pass"];
//Se i dati sono corretti crea il cookie
if ($user == $username && $pass == $password)
{
setcookie("login", "OK", time() + 600);
print "Login effettuato! Entra nell'area privata,";
print "clicca <a href=\"area_privata.php\">qui</a>";
//Se i dati sono errati scrive un messaggio d'errore
}
else
{
print "<h1>Errore</h1><br /><h2>Accesso negato!</h2>";
}
?>
</body>
</html>
A questo punto si può inserire il contenuto protetto nella pagina "area_privata.php", ma con un piccolo accorgimento; prima del contenuto si deve controllare se l’utente ha effettuato correttamente il login:
<html>
<head>
<title>Area protetta</title></head>
<body>
<?php
if ($_COOKIE["login"] == "OK")
{
?>
<p>Contenuti dell'area privata</p><br />
<p>Effettua il <a href="logout.php">Logout</a></p>
<?php
}
else
{
?>
<p>Accesso negato!</p><br />
<p>Effettua il <a href="login.php">Login</a></p>
<?php
}
?>
</body>
</html>
Ora non resta che creare la pagina del logout che servirà solo ad eliminare il cookie:
<html>
<head>
<title>Logout</title>
</head>
<body>
<?php
setcookie("login");
print "Logout effettuato";
?>
</body>
</html>
Il cookie può essere eliminato anche impostando una data di scadenza negativa, ad esempio time()-43200
Popularity: 36% [?]
Vuoi essere sempre aggiornato??? Iscriviti ai feed o invia un trackback
Nessun commento, scrivi tu il primo!
Articoli correlati