Programmazione Web » Php » Creare un'area riservata utilizzando il ciclo if-else di Php
Creare un'area riservata utilizzando il ciclo if-else di Php
Difficoltà:
Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net ![]()
Questo tutorial è stato letto 1243 volte
Questa lezione vuole essere un pretesto per imparare a capire il funzionamento del costrutto if-else e non un modo per imparare a creare un'area riservata vera e propria in quanto sappiamo benissimo che un sistema di protezione così implementato è facilmente penetrabile.
Innanzitutto dobbiamo creare la pagina del form, alla quale assegniamo un titolo a piacere. Questo il suo codice xhtml:
<form action="login.php" method="get" name="login" id="login">
<p>
<input name="user" type="text" id="user" value="user" />
<br />
<input name="pass" type="text" id="pass" value="pass" />
<br />
<input type="submit" name="Submit" value="Invia" />
</p>
</form>
Il form appena creato punta alla pagina "login.php" il cui scopo è quello di ricevere i dati in ingressso, confrontarli con due variabili assegnate ($username e $password) ed eseguire una delle due operazioni dichiarate in base al risultato del confronto. Nel nostro caso i valori corretti da inserire sono username = michele e password = sassi. E' inutile dire che questi valori possono, anzi, devono essere modificati!
<?php
$username = "michele"; //dichiaro username
$password = "sassi"; //dichiaro password
$user = $_GET['user']; //username inserito viene preso in input dal form
$pass = $_GET['pass']; //password inserita viene presa in input dal form
//controllo che i due valori inseriti corrispondano a quelli stabiliti...
//in caso positivo rimando alla pagina riservata
if ($username == $user && $password == $pass)
{
header("Location: areariservata.php");
}
//in caso negativo stampo un messaggio di errore
else
{
print "Hai sbagliato l'inserimento dei dati!";
}
?>
Da notare l'utilizzo dell'operatore di confronto AND (&&) nella stringa in cui abbiamo dichiarato la condizione: if ($username == $user && $password == $pass); affinchè l'espressione sia valida per l'operatore AND è necessario che entrambe le condizioni siano soddisfatte. Apro una piccola parentesi (per spiegare la differenza) sull'utilizzo dell'operatore OR, indicato dal doppio simbolo di pipe ( || ); per quest'operatore è sufficiente che anche una sola delle due condizioni sia verificata per attribuire valore positivo all'espressione.
Un suggerimento... Nel nostro caso, per semplicità, abbiamo preferito stampare un messaggio d'errore per dichiarare all'utente che non ha inserito i dati corretti. Un uso più intelligente sarebbe quello di rimandare il visitatore sulla pagina con il form per la registrazione al sito! Divertitevi pure!

