
kiedy chce sie wylogowac - cookie z sesja jest normalnie kasowane, jednak po wejscu
na strone index.php wartosci PHP_AUTH_USER i PHP_AUTH_PW sa zapamietywane i jedynie restart przegladarki pomaga (na poczatku myslalem, ze mi sie FF krzaczy).
Przeczytalem, ze mozna usunac wartosci PHP_AUTH_USER i PW poprzez naglowek header('HTTP/1.0 401 Unauthorized'); jednak to nic nie zmienia.
(tzn. nie tak pewne go uzylem jak mialem) efekt jest taki, ze kiedy robie echo w/w zminnych one wciaz posiadaja wartosci podawane przy logowaniu.
Schemat jest taki:
index.php - jesli haslo ok -> main.php - jesli klikniete Wyloguj -> wyloguj.php i tutaj po powrocie to index.php jestem automatycznie zalogowany.

index.php
<?php // Autoryzacja { // Rozpoczecie warunku sprawdzania loginu i pass w-1 // Dane dostepowa do bazy danych $dbc = @mysql_connect (DB_HOST,DB_USER,DB_PASSWORD) OR die ('Nie bylo mozliwe polaczenie sie baza MySQL: ' .mysql_error()); // Wysylanie zapytania do bazy danych $zapytanie = \"SELECT first_name FROM users WHERE username='{$_SERVER['PHP_AUTH_USER']}' and password=PASSWORD('{$_SERVER['PHP_AUTH_PW']}')\"; if ($row) { // Jezeli wszystko ok to rekord zostanie zwrocony $_SESSION['first_name']=$row[0]; } else { echo '<p>Proszę podać poprawną nazwę konta i hasło <br /> Aby ponownie sprobowac, kliknij <a href=\"index.php\">TUTAJ</a> !</p>'; } } // zakonczenie warunku sprawdzania loginu i pass w-1 else { // Gdy nie zostala przeprowadzona autoryzacja, zostanie wyswietlone stosowne okno. echo '<p>Proszę podać poprawną nazwę konta i/lub hasło <br /> Aby ponownie sprobowac, kliknij <a href=\"index.php\">TUTAJ</a> !</p>'; } ?>
plik main.php
<? ?> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Final//EN\"> <HTML> <HEAD> <TITLE>Uzywanie autoryzacji HTTP</TITLE> </HEAD> <? // Wyswietl ten komunikat w zaleznosci od tego czy autoryzacja powiodla sie czy ni echo '<p>Autoryzacja została przeprowadzona prawidłowo!</p> Jesteś zalogowany jako <b>'.$_SESSION['first_name'].'</b><br /><br /> Kliknij <a href=\"wyloguj.php\"><b>Wyloguj</b></a> aby sie wylogować.'; } else { echo '<p>Proszę podać poprawną nazwę konta i/lub hasło <br /> Aby ponownie sprobowac, kliknij <a href=\"index.php\">TUTAJ</a> !</p>'; } ?> </body> </html>
plik: wyloguj.php
<? echo 'Zostałes wylogowany! <br />Kliknij <a href=\"index.php\">Tutaj</a> żeby zalogować sie ponownie.' ?>