Chciałem napisać prosty skrypt logowania i wylogowania. Niby wszystko działa, ale po wylogowaniu i usunieciu zmiennych sesyjnych jak kliknę na przeglądarce "wstecz" to i tak wszystkie chronione dane są wyświetlane, a odświeżenie strony powoduje ponowne rozpoczęcie sesji. Doszedłem do wniosku, że przeglądarka pamięta wartości zmiennych: nazwy użytkownika i hasła.
1. Jak poprawić mój kod, żeby po kliknięciu na wstecz i odświeżeniu wczystywał się forumarz, a nie chronione dane?
2. Jak sprawić aby wogóle nie było możliwe oglądanie chronionych danych przez "wstecz" po wylogowaniu?
Gdybym mógł chociaz jakieś wskazówki dostać...
Kod:
<?php ?> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <style type="text/css"> /*<![CDATA[*/ #name{color:darkred; font-size:10pt; margin-bottom:4cm} #wrongpass{font-size:15; text-align:center; color:red; font-weight:bold; margin-top:2cm;} #who{font-size:10pt; font-variant:small-caps;} #form{width:400px; margin:auto; margin-top: 4cm;} /*]]>*/ </style> <title> funfair</title> </head> <body> <?php if((($_POST['user'])==='user1') && (($_POST['pass'])==='haslo1')){ //utwórz sesję logowania $_SESSION['auth']=1; } else{ } }//koniec submitted //na logout.php dochodzi do zniszczenia zmiennych sesyjnych echo "<div style=\"color:#dd4902\">Jesteś zalogowany jako {$_POST['user']} <a href=\"logout2.php\"> Wyloguj</a></div>";} if($_SESSION['auth'] == 1){ } else{ echo <<<FORM <form id="form" method="POST"> <fieldset> <p>login: <input type="text" name="user" size="20" maxlength="25" /></p> <p>password: <input type="password" name="pass" size="20" maxlength="25" /></p> <input type="hidden" name="submitted" /> <input type="submit" value="send" /> </fieldset> </form> FORM; } ?> </body> </html>