MADALIN VLAD sergiu

tutorial php: login

Tags: , , , , , , , ,
— Madalin Vlad on June 29, 2008 at 9:11 pm
<? 
$user = $_POST["user"]; 
/* stocam in variabila $user nume de utilizator, 
asta daca a fost trimis */
if(empty($user)): 
/* verificam daca s-a trimis un nume de utilizator, 
daca nu s-a trimis afisam formularul de logare */
?>
<html>
<head>
<title>Logheaza-te</title>
</head>
<body>
<form action="index.php" method="post">
Username: <input type="text" name="user" /><br/>
Password: <input type="text" name="pass" />
<input type="submit" />
</form>
</body>
</html>
<? 
else: 
/* daca s-a trimis un nume de utilizator
incepem procesarea datelor */
?>
<html>
<head>
<title>Procesare logare</title>
</head>
<body>
<?php
$baza=array('parola' => 'username');
/* stocam in variabila $baza un array cu 
numele de utilizatori si parola, se separa prin
virgula */
 
$ok=0; 
/* variabila ajutatoare $ok ne va ajuta sa 
verificam daca totul a decurs corect */
 
$pass=$_POST['pass'];
/* in variabila $pass stocam parola trimisa */
while($username = current($baza)) 
  { 
	/* deschidem un while care va parcurge fiecare element
	al array-ului folosindu-ne de functiile current() si next() */
	if($username == $_POST["user"]&&key($baza)==$_POST['pass']&&$ok!=1) 
		{
			/* verificam daca numele de utilizator si parola corespund
			cu cele din array si daca nu s-a procesat deja (vezi $ok!=1).
 
			daca numele de utilizator si parola sunt corecte, atunci intra in if
			si seteaza variabila $ok pe 1, semn ca s-au gasit date corecte */
			$ok=1;
 
			$mesaj = "Salut ".$_POST["user"].", esti logat";
			/* stocam in variabila $mesaj un mesaj care va fi afisat pe
			pagina de procesare. In cazul acesta va aparea:
			"Salut username, esti logat" */
		} 
	next($baza);
	/* functia next() ne duce la urmatorul element al array-ului, ciclul 
	continua daca vor mai fi elemente in array */
  }
 
if(!$ok)
	$mesaj = "Nume de utilizator sau parola incorecta";
/* daca $ok a ramas pe 0, adica nu s-au gasit date, va afisa mesajul
de mai sus */
?>
<?=$mesaj?>
</body>
</html>
<? endif; ?>
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Madalin Vlad - Blogul