Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Cookie
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Mam pewien problem z obsługa COOKIES

Kiedy dodaje jakiś plik COOKIE zostaje on dodany ale dopiero po ponownym odświeżeniu strony

klikam na link http://www.perelkibaltyku.pl&do_schowka=33

wykonuje się kod:

  1. <?php
  2. if ( isset($_GET['do_schowka']) ){ 
  3.  
  4. if (isset($_COOKIE['do_schowka'])){
  5.  
  6. $stara = explode('.', $_COOKIE['do_schowka']);
  7.  
  8. if(!in_array($_GET['do_schowka'], $stara) ){
  9.  
  10. $nowa = implode('.', $stara).$_GET['do_schowka'].'.';
  11.  
  12. }else{ 
  13.  
  14. $nowa = implode('.', $stara);
  15. } 
  16.  
  17. }else{
  18.  
  19. $nowa = $_GET['do_schowka'].'.';
  20.  
  21. }
  22. echo 'A:'.$nowa.'
  23. ';
  24.  
  25. setcookie('do_schowka', $nowa, time()+25920000, '', '.perelkibaltyku.pl'); 
  26.  
  27.  } 
  28.  
  29.  echo 'B:'.$_COOKIE['do_schowka'];
  30. ?>


Bezpośrednio po kliknięciu na link efektem tych ech bedzie
  1. <?php
  2. A:33.
  3. B:
  4. ?>


czyli pusta jest zmienna cookie, nie mniej, kiedy sprawdzam plik cookie na zapisany u siebie na komputerze, wiedze ze zapisana jest w nim prawidlowa wartość. Kolejny raz odświeże stronę, plik COOKIE na stronie jest odczytywany dobrze

tak samo podobny, ale jeszcze troche bardziej złożony problem wystepuje przy usuwaniu z "schowka"

  1. <?php
  2. if ( isset($_POST['schowek_usun']) ){
  3.  
  4. $stara = explode('.', $_COOKIE['do_schowka']);
  5. unset($_COOKIE['do_schowka']);
  6.  
  7. foreach ($stara as $key => $id_s){ 
  8.  
  9. if(in_array($id_s, $_POST['zaznacz'] ) ){
  10.  
  11. unset($stara[$key]); 
  12.  
  13. }
  14.  
  15. }
  16. $nowa = implode('.', $stara);
  17.  
  18. setcookie('do_schowka', $nowa, time()+25920000, '', '.perelkibaltyku.pl'); 
  19.  }
  20. ?>


na początku "tablica" do_schowka zawiera kilka wartosci, nastepnie chcę usunąć z niej pewne wartości, po kliknieciu na formularz, cała zmienna $_COOKIE['do_schowka'] jest pusta mimo ze powinny w niej zostać jakieś wartości, nie pomaga tutaj odświeżenie strony, dopiero kiedy przejde na jakaś inną podstronę mojej strony, wtedy $_COOKIE['do_schowka'] ma już prawidłowe wartości

Ten post edytował propage 20.06.2008, 19:55:28
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: 20.12.2025 - 21:25