Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sposób na wylogowanie?, unset ($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_
DREEMus
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam taką funkcję ...
  1. <?php
  2. function wyloguj () {
  3.    unset ($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
  4.    header ('Location: index.php');
  5.    }
  6. ?>

Problem w tym, że po wykonaniu co prawda przenosi do "index.php", ale zmienne $_SERVER nadal mają swoją wartość ... więc i wylogowanie nie działa, klikam na link, żeby wejść na stronkę z logowaniem, ale logować się już nie musze (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ... Zna ktoś lepszy sposób na mechanizm wylogowania (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

PS. Do autoryzacji korzystam tylko z isset'a ... dane porównuje z bazą danych ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Skie
post
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Po pierwsze - czemu autoryzację (logowanie) użytkowników masz oparte o $_SERVER?
Zainteresuje się takim czymś co się zwie $_SESSION. Nie jestem nawet pewien czy możesz unset'ować $_SERVER.

Po drugie - wszystko masz opisane w manualu

Cytat
If a globalized variable is unset() inside of a function, only the local variable is destroyed. The variable in the calling environment will retain the same value as before unset() was called.


A co do Twojego sposobu, spróbj tak:

  1. <?php
  2. function wyloguj () {
  3.   unset ($GLOBALS['_SERVER']['PHP_AUTH_USER'], $GLOBALS['_SERVER']['PHP_AUTH_PW']);
  4.   header ('Location: index.php');
  5. }
  6. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 06:39