Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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 sad.gif ... Zna ktoś lepszy sposób na mechanizm wylogowania questionmark.gif

PS. Do autoryzacji korzystam tylko z isset'a ... dane porównuje z bazą danych ...


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
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. ?>


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


@DREEMus:
http://pl.php.net/features.http-auth - masz opisane z tym problemy.
Pozatym usuniecie zmiennych nic ci nie da, jesli w nastepnym requescie przegladarka znow sie bedzie logowac tymi samymi danymi.

Chcesz zrobic logowanie - zrob je tradycyjna metoda, na sesjach - przykladow w necie masz 100tki.

@Skie:

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



Ten przypadek nie odnosi sie do zmiennych SUPERGLOBALNYCH, w manualu masz wszystko opisane, nawet przyklad gdzie musiz uzyc "global" aby zglobalizowac zmienna.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
DREEMus
post
Post #4





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

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


korzystam z tego sposobu, bo jest on tylko do autoryzacji i nic więcej nie będzie robił ...
ale poczytam o sesjach smile.gif

Cytat(Skie @ 21.02.2009, 06:39:17 ) *
  1. <?php
  2. function wyloguj () {
  3.   unset ($GLOBALS['_SERVER']['PHP_AUTH_USER'], $GLOBALS['_SERVER']['PHP_AUTH_PW']);
  4.   header ('Location: index.php');
  5. }
  6. ?>


Nadal nic ... Biorę się za sesje smile.gif

Ten post edytował DREEMus 21.02.2009, 12:50:09


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
sowiq
post
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Miałem ten sam problem i jako-tako udało mi się go rozwiązać. http://forum.php.pl/index.php?showtopic=103372
Go to the top of the page
+Quote Post
DREEMus
post
Post #6





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

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


dzięki sowiq, przydało się smile.gif


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 03:02