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 ?>