http://gorbem.hu/PHP.php

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:

 

http://gorbem.hu/PH/index.php

 

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

 

            http://gorbem.hu/PH/login.php

 

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

 

            http://gorbem.hu/PH/alap.php  

 

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