Egy beléptető rendszer
Miután felhasználóként felvettünk magunkat a fentebbi main.php programmal, készíthetünk olyan beléptető rendszert, mely a rögzített login név és jelszó segítségével védett tartalom elérésére ad lehetőséget.
Először a rendszer indítófájlját írjuk meg. Ennek neve index.php, és igen rövid lesz, rendszerindító parancsokból és a login.php betöltéséből áll:
<?php
session_start();
ob_start();
include "login.php";
ob_end_flush();
?>
Az indító file betöltése feltételezi a login.php állomány létezését. A login.php első PHP szakasza felel a bejelentkezés ellenőrzésért.
<?php
session_start();
include "hconfig.php";
if ( !$_SESSION['nlogin'] ){
if ( isset($_POST['login']) ){
$nname = $_POST['nname'];
$pw = $_POST['passw'];
$passw = md5($pw);
$eredm = mysql_query("SELECT * FROM Users WHERE (NName='$nname' AND Passw='$passw') ");
$nnu = mysql_num_rows($eredm);
$nnu = $nnu+0;
if ( $nnu !== 0 ){
$_SESSION['nlogin'] = true;
$_SESSION['nname'] = $nname;
header("location: login.php");
}
}
?>
<html>
<head>
<title>Beléptető rendszer</title>
</head>
<body bgcolor="#eeeeee">
<a href="http://gorbem.hu/PH/Belepteto.htm">http://gorbem.hu/PH/Belepteto.htm</a>
<font face="Verdana">
<form method="POST">
<table border="1" bordercolor="#ffffff" cellpadding="10" cellspacing="0" bgcolor="#eeeeee">
<tr><td align="right">A felhasználó login neve: <input type="text" name="nname" size="22" /></td></tr>
<tr><td align="right">Jelszava: <input type="password" name="passw" size="24" /></td></tr>
<tr><td align="center"><input type="submit" name="login" value="Belépés" /></td></tr>
</table>
</font>
</form>
</html>
<?php
}
else{
print "<html>\n";
print "<head>\n";
print "<title>Védett tartalom</title>\n";
print "</head>\n";
print "<body>\n";
$nname = $_SESSION['nname'];
print "<font
face=\"Verdana\">";
print "Ez itt a védett
tartalom! Belépett:
<b>$nname</b><br /><br />\n";
print "Menü:<br /><br />\n";
print "<a href=\"alap.php\">A-Lap</a><br /><br />\n";
print "<a href=\"blap.php\">B-Lap</a><br /><br />\n";
print "<a href=\"logout.php\">Kilépés</a>\n";
print "</font>";
print "</body>\n";
print "</html>\n";
}
?>
Ha még nem lépett be a felhasználó, akkor egy beviteli felületet látunk, mely a bejelentkezési név és a jelszó beírására vár.
Ha érvényes az adatbevitel, akkor a második php szakaszban leírt egyszerű html oldal jelenik meg, Ez itt a védett tartalom! felirattal és egy egyszerű menüvel. Továbbléphetünk az A vagy B lapra, vagy Kiléphetünk a rendszerből.
Ha nem léptünk ki a rendszerből, akkor az itt leírt lapok böngészhetők a menü nélkül is, címbeírással. Ebben a demonstrációs rendszerben az A és B lap gyakorlatilag ugyanaz, lényegi különbség nincs közöttük. Mindkettő először a php szakaszban ellenőrzi, hogy sikeresen bejelentkeztünk-e, ha igen beenged a védett területre, ha nem, akkor arra kér bennünket, hogy jelentkezzünk be.
<html>
<head>
<title>Beléptető rendszer - A-Lap</title>
</head>
<body>
<font face="Verdana">
<?php
session_start();
include "hconfig.php";
if (!$_SESSION['nlogin']){
print "<a href=\"index.php\">Be kellene jelentkezni!</a>\n";
}
else{
print "A beléptető
rendszer által védett tartalom: A-Lap.<br /><br />\n";
print "<a href=\"index.php\">Vissza</a>\n";
}
?>
</font>
</body>
</html>
Az A-Lap tartalma:
A B-Lap tartalma szinte ugyanaz:
Ha munkánkat befejeztük, akkor célszerű a rendszert a Menü Kilépés menüpontjával elhagyni. A Kilépés a logout.php állomány segítségével történik, melynek futtatásával újra a bejelentkezési felülethez jutunk. Az oldal listája:
http://gorbem.hu/PH/logout.php
<?php
session_start();
include "hconfig.php";
unset($_SESSION['nlogin']);
session_destroy();
header("location:
index.php");
?>
Ha nem vagyunk bejelentkezve a rendszerbe, akkor az A és B lap nem böngészhető. Betöltéskor egy linkkel jelenik meg, melynek felirata: Be kellene jelentkezni! A link címe pedig index.php.