Prihlasenie a registracia

CREATE TABLE `uzivatelia` (
  `id` int NOT NULL auto_increment primary key,
  `meno` tinytext NOT NULL,
  `heslo` tinytext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
COLLATE=utf8_slovak_ci AUTO_INCREMENT=1;

            Regisracia

<form action="registracia.php" method="post">
<p>Meno: <input type="text" name="meno"/></p>
<p>Heslo: <input type="password" name="heslo"/></p>
<p><input type="submit" /></p>
</form>

<?php
// deklarujeme si vstupne premenne
$meno = $_POST['meno'];
$heslo = sha1($_POST['heslo']); # sha1 je hashovacia f-cia. Viac na php.net

mysql_query("INSERT INTO uzivatelia(meno,heslo) VALUES('$meno','$heslo' )")
or die("Užívateľa sa nepodarilo registrovať.");
?>

 

                                     Prihlasenie

<h2>Prihlásenie</h2>
<form action="login.php" method="post">
<p>Prihlasovacie meno: <input type="text" name="meno"/></p>
<p>Prihlasovacie heslo: <input type="password" name="heslo"/></p>
<p><input type="submit" value="Prihlásiť" /></p>
</form>
<?php
// deklarujeme uzivatelsky vstup
$meno = $_POST['meno'];
$heslo = sha1($_POST['heslo']); # ziskame heslo v sifrovanej podobe

// ziskame heslo pre urcene meno
$result = mysql_query("SELECT heslo FROM uzivatelia WHERE meno='$meno'");
$row = mysql_fetch_row($result); // v $row[0] je ulozene heslo

// overime spravnost hesla
if($heslo == $row[0])
{
	$_SESSION['prihlaseny'] = 'ano';
}
else
{
	echo "Zadali ste neplatné meno alebo heslo!";
}
?>
<?php
if($_SESSION['prihlaseny'] != 'ano')
	die("Nepovolený vstup! Najprv sa prihláste.");
?>
<a href="logout.php">Odhlásiť užívateľa</a>

a súbor logout.php bude obsahovať tento kód…

<?php
unset($_SESSION['prihlaseny']); // znicime zaznam o prihlaseni
?>