Så här kan man göra ett inloggningssystem med "sessions", tror jag.
Jag har skapat 5 st filer: login.php4, verify.php4, secret.php3, secret2.php4 och logout.php4.
Jag har varit slarvig med HTML-koden, men sidorna skall fungera i alla fall.
En demo finns på http://www.nic-sys.se/gaboPHP/login.php4
login.php4
Välkommen till nic-gemenskapen.
<form name="logga" method="post" action="verify.php4">
Skriv lösenordet "hej":
<input type="password" name="pass">
<input type="submit" value="continue">
</form>
verify.php4
<?
if ($pass=="hej"){
session_start();
session_register("ActiveAt");
session_register("pass");
$ActiveAt=time();
?>
Välkommen, du har nu loggat in på vår genemskap.<br><br>
Nu när du är inloggad kan du besöka våra hemliga sidor :)
<a href="http://www.nic-sys.se/gaboPHP/secret.php4">
Här</a> finns den första sidan secret.php4.
<?
}else{
?>
Inloggningen misslyckades, gå tillbaka och prova igen.
<?
}
?>
secret.php4
<?
session_start();
if(!isset($ActiveAt)){
echo "Tyvärr, denna sida kan bara ses om du är inloggad.<br>";
exit;
}
if(isset($ActiveAt) && time()-$ActiveAt>60){
echo "Din session har runnit ut:)";
echo " Logga in igen <a href=http://www.nic-sys.se/gaboPHP/login.php4>här</a>.";
exit;
}
$ActiveAt=time(); echo "<i>Uppdaterar sessionen!</i><br><br>";
?>
Hej, <br><br>
Här finns den hemiliga informationen: salccin<br><br>
Du kan också få fler hemligheter på sidan
<a href="http://www.nic-sys.se/gaboPHP/secret2.php4">secret2.php4</a>.
secret2.php4
<?
session_start();
if(!isset($ActiveAt)){
echo "Tyvärr, denna sida kan bara ses om du är inloggad.<br>";
exit;
}
if(isset($ActiveAt) && time()-$ActiveAt>60){
echo "Din session har runnit ut:)";
echo " Logga in igen <a href=http://www.nic-sys.se/gaboPHP/login.php4>här</a>.";
exit;
}
$ActiveAt=time(); echo "<i>Uppdaterar sessionen!</i><br><br>";
?>
Hej, <br><br>
Här finns den hemiliga informationen: salccin blir nicclas baklänges.<br><br>
Läs hemligheter på den första sidan
<a href="http://www.nic-sys.se/gaboPHP/secret.php4">secret.php4</a> igen om du vill.<br><br>
Klicka <a href="http://www.nic-sys.se/gaboPHP/logout.php4">här</a> för att logga ut!
logout.php4
<?
session_start();
session_destroy();
?>
Du har nu loggat ut.<br>
Försök komma på de hemliga sidorna nu,
<a href="http://www.nic-sys.se/gaboPHP/secret2.php4">secret.php4</a> och
<a href="http://www.nic-sys.se/gaboPHP/secret2.php4">secret2.php4</a>.
Man loggar ut genom att gå till sidan logout.php4. Gör man inte det så kommer inloggningen att sluta fungera efter 60 sekunder, och du måste logga in igen.
Naturligtvis måste PHP4 köras. Jag har aldrig provat sessions förut så detta går säkert att göra säkrare/bättre, kanske?
Red: Aj då, du kanske vill ändra i din databas också... Ja då blir du nog så illa tvungen att komplettera med en lista över användare som laddat någon "hemlig" sida den senaste miuten som lagras på servern. Kod för detta finns i trådan som Gislaved gav ovan.
/nicclas - www.nyhetsrubriker.com
[Redigerat av nicclas den 20 apr 2001]
[Redigerat av nicclas den 20 apr 2001]