• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - niszczenie sesji nie działa.

VPS Starter Arubacloud
0 głosów
317 wizyt
pytanie zadane 26 września 2015 w PHP przez runway Użytkownik (640 p.)

Witam serdecznie, pisze sobie prostego CMS. Stworzyłem sobie system rejestracji i logowania, wszystko działa pięknie, lecz wylogowywanie nie działa. Wchodząc na stronę wylogowania powinno mnie przekierować do indexu - tak się jednak nie dzieje, zamiast tego wyświetla się biała strona. Testuję na localhoście, XAMPP. Kod do wylogowania robiłem na ślepo, najprostszy z możliwych.

 

<?

mysql_connect("localhost","root","");
mysql_select_db("greppos");

session_start();

$_SESSION = array();

if (isset($_COOKIE[session_name()])) { 
   setcookie(session_name(), '', time()-42000, '/'); 
}

session_destroy();
session_unset();

echo "o kurde, wylogowało.";

header("Location: /index.php");


?>

 

Proszę o pomoc. Pozdrawiam! :)

3 odpowiedzi

+3 głosów
odpowiedź 26 września 2015 przez Comandeer Guru (599,730 p.)
wybrane 27 września 2015 przez runway
 
Najlepsza
Wychodzi na to, że nie masz włączonej obsługi błędów: http://forum.php.pl/Jak_poprawnie_zadac_pytanie_oraz_przygotowac_srodowisko_pracy_t146215.html

Gdyby Ci się wyświetlały błędy, zobaczyłbyś sławny błąd: http://www.capaciouscore.pl/artykuly/blad-headers-already-sent-by/
komentarz 26 września 2015 przez Comandeer Guru (599,730 p.)

A - i zmień <? na <?php, bo być może Twój kod PHP wgl nie jest wykonywany!

komentarz 27 września 2015 przez runway Użytkownik (640 p.)
Wiesz co? Czasami myślę sobie, że jestem kretynem ale dziś przerosłem samego siebie. Dopisanie ?php natychmiast wszystko naprawiło. Dzięki!
komentarz 27 września 2015 przez writen Nałogowiec (29,060 p.)
Rozumiem, że wysłanie treści do przeglądarki (echo) przed wysłaniem nagłówka (header) nie wywołuje błędu? Nie możliwe.

Nie możesz tak robić!
komentarz 27 września 2015 przez Comandeer Guru (599,730 p.)
Możliwe. XAMPP ma domyślnie włączone buforowanie treści, stąd taki zapis działa. Inna rzecz, że faktycznie jest to złą praktyką. Najpierw nagłówki, potem treść!
0 głosów
odpowiedź 26 września 2015 przez event15 Szeryf (93,790 p.)
1. Nigdy nie korzystaj z mysql_* (jeżeli już musisz to mysqli_*)

2. Jak sprawdzasz czy sesja została zniszczona?
komentarz 26 września 2015 przez runway Użytkownik (640 p.)
nie sprawdzam w żaden sposób, jeżeli sesje zniszczyło powinno mnie przekierować do indexu. bazowałem na pliku logout.php z kursu PHP Pana Zelenta.
0 głosów
odpowiedź 26 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
Zamiast header("Location: /index.php"); powinno być header("Location: index.php");
komentarz 26 września 2015 przez Comandeer Guru (599,730 p.)

Akurat to nie ma znaczenia. Jedyna różnica pomiędzy tymi kodami jest taka, że /index.php oznacza plik o tej nazwie w katalogu głównym strony, a index.php w katalogu, w którym obecnie jest user.

komentarz 26 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
A jak ja zmieniłem sobie przekierowanie na z ukośnkiem to mi nie wczytało strony ERROR 404
komentarz 26 września 2015 przez DavidMCPolska Bywalec (2,770 p.)
A nie, bo sprawdziłem adres i wywaliło mnie do folderu XAMPPa :D

Podobne pytania

0 głosów
1 odpowiedź 2,915 wizyt
pytanie zadane 20 stycznia 2018 w PHP przez Gucci Gaduła (4,580 p.)
0 głosów
1 odpowiedź 794 wizyt
pytanie zadane 14 września 2017 w PHP przez Giovacho Użytkownik (960 p.)
0 głosów
2 odpowiedzi 1,354 wizyt
pytanie zadane 3 września 2015 w PHP przez Benek Szeryf (90,690 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...