Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][cookies] Nie moge usunąć cookies
Forum PHP.pl > Forum > Przedszkole
qba10
Witam.
Nie mogę usunąć cookies.
Tworzę je tak:
  1. <?php
  2. setcookie("JumpPHP_data1" ,md5(strtolower($_POST['login'])) ,time()+60*60*24*30);
  3. setcookie("JumpPHP_data2" ,md5($_POST['haslo']) ,time()+60*60*24*30);
  4. ?>

A próbuję usunąć tak:
  1. <?php
  2. setcookie("JumpPHP_data1", " " ,time()-60*60*24*30);
  3. setcookie("JumpPHP_data2", " " ,time()-60*60*24*30);
  4. ?>

Ale te głupie ciasteczka nie chcą się usunąć.
Pomocy co robić questionmark.gif?
norbis
Kod
<?php
setcookie("JumpPHP_data1");
setcookie("JumpPHP_data2");
?>


Powinno pomóc winksmiley.jpg
batman
  1. <?php
  2. unset($_COOKIE['JumpPHP_data1']);
  3. unset($_COOKIE['JumpPHP_data2']);
  4. ?>
qba10
Szczerze ani to, ani to nie pomogło.
Oto moja strona logout.php (może się na coś przydać) :
  1. <?php
  2. setcookie("JumpPHP_data1", " " ,time()+60*60*24*30);
  3. setcookie("JumpPHP_data2", " " ,time()+60*60*24*30);
  4.  
  5.  
  6. unset($_COOKIE['JumpPHP_data1']);
  7. unset($_COOKIE['JumpPHP_data2']);
  8. unset($_COOKIE['PHPSESSID']);
  9. unset($_SESSION['login']); 
  10. unset($_SESSION['haslo']); 
  11. unset($_SESSION['nick']);
  12. unset($_SESSION['u1']);
  13. unset($_SESSION['u2']);
  14. unset($_SESSION['u3']);
  15. unset($_SESSION['u4']);
  16. unset($_SESSION['u5']);
  17. unset($_SESSION['u6']);
  18. unset($_SESSION['u7']);
  19. unset($_SESSION['nazwisko']);
  20. unset($_SESSION['data']);
  21. unset($_SESSION['email']);
  22. unset($_SESSION['lvl']);
  23. unset($_SESSION['zalogowany']);
  24.  
  25. include('sys/tajne/register_config.php'); 
  26. include('elementy.php'); 
  27.  
  28.  
  29.  
  30. echo '
  31. <!DOCTYPE html 
  32. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  33. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  34. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  35. <head>
  36.  '.$head.'
  37.  
  38. </head>
  39. <body >
  40. <div id="top">
  41. <div id="NAGLOWEK"><img src="grafika/baner.png" alt="" /><br /><br /></div>
  42.  
  43. <div id="MENU">
  44. Menu
  45. <div id="MENU2">
  46. '; include ('menu.php'); echo '  
  47. </div>
  48.  
  49. </div>
  50. <div id="INFORMACJE"><br /></div>
  51. <div id="TRESC">
  52. OSP Bryńsk 
  53.  
  54. <div id="TRESC2">';
  55.  
  56.  
  57.  echo '<br /> <br /><h4> Zostałes Wylogowany!!!</h4>
  58.  
  59.  
  60.  
  61. </div></div>
  62.  
  63. <div id="STOPKA">'.$stopka.'</div>
  64. </div>
  65.  
  66.  
  67.  
  68.  
  69.  
  70. </body>
  71. </html>';
  72. ?>
batman
No to jeszcze jedna rzecz (jak szaleć to szaleć winksmiley.jpg ).
  1. <?php
  2. unset($_COOKIE);
  3. ?>


Jeśli to nie pomoże, to napisz w jaki sposób sprawdzasz, że ciasteczko jest usunięte.
pyro
zamaist tych wszystkich unset dotyczacych $_SESSION uzyj session_destroy" title="Zobacz w manualu PHP" target="_manual

// edit

mozesz sprawdzic jakie masz ciasteczka dowolnym cookie editorem lub w przegladarace wklepac java script:alert(document.cookie)
qba10
Też nie działa ;/
Jakie to głupie.

PS: Sprawdzam w Preferencjach strony. (OPERA)

EDIT: Oki z tymi ciasteczkami to się chyba udało. Mam tylko pytanie. Co to jest te ciasteczko PHPSESSID
batman
Zrób tak.
1. Usuń ciasteczka poprzez unset.
2. Na końcu skryptu print_r($_COOKIE)
3. Odśwież stronę i sprawdź co wyświetli print_r.
pyro
Cytat(qba10 @ 30.04.2008, 19:46:37 ) *
Też nie działa ;/
Jakie to głupie.

PS: Sprawdzam w Preferencjach strony. (OPERA)

EDIT: Oki z tymi ciasteczkami to się chyba udało. Mam tylko pytanie. Co to jest te ciasteczko PHPSESSID


mechanizm po stronie php, nie skorzystales z mojego poprzedniego postu, session_destroy by je zniszczylo
qba10
Tylko że jak używam tej funkcji to mi wyskakuje:
Kod
       Warning:  session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /home/qba10/public_html/osp/logout.php on line 4
Crozin
1) Zamiast pisać 20 unsetów() napisz jednego - ta funkcja przyjmuje nieograniczoną ilość argumentów (czyt.: zmiennych do wywalenia)
2) @batman: przecież unset($_COOKIE); wyczyści tylko tablicę z ciastkami - nie same ciastka
3) setcookie('nazwa', '', 1);
4) Przechowywanie loginu i hasla w ciastko jest conajmiej niebezpieczne (by nie powiedzieć głupie)
5) PHPSESSIONID, PHPSESID, SID - jedną z tych nazw przyjmuje nazwa ciastka/zmiennej w adresie generowanej przez wbudowany w PHP mechanizm sesji.

EDIT:
6) Do postu wyżej: dajesz session_destroy() na podstronie, na której nie zainicjalizowałeś sesji (session_start())
pyro
@qba

bo nisczysz sesje tam gdzie jej nie ma

// edit

tak jak napisal szybszy gosc wyzej
batman
@Crozin
Przecież napisałem jak
Cytat
szaleć to szaleć

Jeśli zadziałałaby ta metoda, to oznaczałoby to, że gdzieś w kodzie jest literówka.
erix
Cytat
1) Zamiast pisać 20 unsetów() napisz jednego - ta funkcja przyjmuje nieograniczoną ilość argumentów (czyt.: zmiennych do wywalenia)

  1. <?php
  2. $_SESSION = array();
  3. ?>

winksmiley.jpg

a do tematu:
  1. <?php
  2. setcookie("JumpPHP_data1",false,time()-60*60*24*30);
  3. setcookie("JumpPHP_data2", false ,time()-60*60*24*30)
  4. ?>
qba10
Dobra już problem rozwiązany.
Trochę było też mojego błędu, ale gdyby nie wy bym sobie nie poradził.
No to daje "pomógł" każdemu postowi, który przyczynił się do tego, że zrozumiałem swoje błędy.

EDIT: Jeżeli ktoś jeszcze uważa, że powinien dostać "Pomógł", pisać na PW biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.