Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wartość ciastka
Forum PHP.pl > Forum > Przedszkole
gladiror
Witam!
Mam problem z przypisaniem wartości ciastka do zmiennej. CHodzi o to, że na komputerze tworze ciastko i chciałbym pobrać wartość z tego ciastka i przypisac to do zmiennej. Próbowałem tak:
  1. <?php
  2.  
  3.  
  4. $zmienna = $_COOKIE['ciastko'];
  5.  
  6. ?>



ale niestety nie działa... Prosiłbym o jakąś wskazówke...
mike
To na pewno nie jest calość sktyptu.

1. Pokaż całośc skryptu, a dokładniej gdzie ustawiasz ciacho?
2. Czy odczytujesz ciastko tuż po jego ustawieniu? W ramach jednego wykonania skryptu?
Bo jeśli tak to (setcookie()):
Cytat
  • Ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne.
gladiror
Oto caly skrypt:
  1. <?php
  2.  
  3. if(!isset($_COOKIE['ciastko']))
  4. {
  5.  
  6.  
  7. include("kraj_uzytkownika.php"); 
  8. $country_query = "SELECT country_code2,country_name FROM ip ".
  9.  "WHERE IP_FROM<=inet_aton('$REMOTE_ADDR') ".
  10. "AND IP_TO>=inet_aton('$REMOTE_ADDR') ";
  11. $country_exec = mysql_query($country_query);
  12. $ccode_array=mysql_fetch_array($country_exec);
  13. $country_code=$ccode_array['country_code2'];
  14. $ustawienia_jezyka = $ccode_array['country_name'];
  15. $jezyk = $country_code;
  16. setcookie('ciastko', '$jezyk', time() + 60*60*24*31); 
  17. print("nie istnieje");
  18. }
  19. else
  20. {
  21. $jezyk = $_COOKIE['ciastko'];
  22. print("istnieje");
  23.  
  24. }
  25.  
  26. ?>


I tutaj potrzebuje wartość z ciastka utworzonego na komputerze przypisać zmiennej $jezyk
dr_bonzo
Jakie bledy dostajesz, co powinno si epojawic na ekranie a co sie pojawia?

1. Tu:
$jezyk = $country_code;
sprawdz jaka wartosc ma $jezyk
var_dump( $jezyk ).

2.
$jezyk = $_COOKIE['ciastko'];
istnieje $_COOKIE['ciastko'];?
jest puste $_COOKIE['ciastko'];?
daj znow var_dumpa na $_COOKIE['ciastko'];

3. wyswietla sie
print("istnieje");
?
gladiror
Już tłumacze:

Najpierw sprawdza czy ciastko o podanej nazwie istnieje. jeżeli:
a) nie istnieje to:
z adresu IP wyciaga nazwe kraju i przypisuje ja zmiennej $ustawienia_jezyka i daje skrót kraju na zmienna $jezyk
Nastepnie tworzy ciastko o nazwie ciastko i wartości ciastka "$jezyk"

podpunkt b ) istnieje ciastko:
przypisuje zmiennej $jezyk wartość ciastka...

Problem polega na tym ze nie chce mi przypisać wartości ciastka to zmiennej... W przegladarce pokazuje sie nastepujacy napis "istnieje$jezyk "...

A powinien pokazywac sie "istnieje <- tutaj wartosc zmiennej $jezyk ->"
luinnar
Ztego co podałeś wynika że do ciastka zapisujesz tekst: $jezyk
  1. <?php
  2. setcookie('ciastko', '$jezyk', time() + 60*60*24*31);
  3. ?>

a nie zawartość zmiennej $jezyk. Poprawnie powinno wyglądać:
  1. <?php
  2. setcookie('ciastko', $jezyk, time() + 60*60*24*31);
  3. ?>
gladiror
@luinnar thx za pomoc winksmiley.jpg Poprawiłem kod jak kazałeś i elegancko działa! Wielkie THX!
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.