Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]ciastka nie dzialaja
Forum PHP.pl > Forum > Przedszkole
kabooom
czesc jestem bardzo poczatkujacy w php, mam problem z ustawieniem zmiennej w cookies. tutaj kruciutki kod, ograniczylem go do minimum. Sa 2 pliki - w pierwszym formularz , do drugiego zostaja wyslane dane:
--------index.html------------------
  1. <title> formularz </title>
  2. <form method="post" action="2nd.php">
  3. napisz cos: <br>
  4. <input type="text" name="napis" /> <br>
  5. <input type="submit" name="Submit" value="Wyslij" />
  6. </form>
  7. </body>
  8. </html>

-----2nd.php------------------------
  1. <?php
  2. setcookie("napis2",$_POST['napis'],time()+60);
  3.  
  4. if(isset($_COOKIE['napis2']))
  5. {
  6. echo "ciastko ustawione";
  7. }else{
  8. echo "ciastko nieustawione"; //to sie pojawia - DLACZEGO?!
  9. }
  10. ?>

Nie musze dodawac ze jak probuje wyswietlic wartosc $_COOKIE['napis2'] to mi wywala parse errora. Jak sprawdzalem to funkcja setcookie zwraca true, zmienna $_POST['napis'] jest ustawiona. W folderze 'Cookies' pojawia sie plik user@127.0.0[1] w ktorym jest wartosc zmiennej i jej nazwa ,w przegladarce ciastka sa wlaczone. Mam apache 2.2.3, php 5.2 (instalowalem poprzez taki program easyphp tongue.gif ) .
pls help sad.gif
misiek172
po ustawieniu ciastka, należy odświeżyć przeglądatke... czyli:

  1. <?php
  2. if($_GET['spr']!=1){ //sprawdzenie czy bylo juz dodawane cookie
  3. setcookie("napis2",$_POST['napis'],time()+60);
  4. }
  5.  
  6. if($_GET['spr']!=1){ //sprawdzenie czy bylo juz odświeżane
  7. echo "<script language="JavaScript">
  8. window.location.href='adres_rego_pliku.php?spr=1';
  9. </script>"; 
  10. /* przeładowanie z ustawineiem zmiennej sprawdzajacej dodanie cookie, 
  11. ewnetunalnie mozna użyć innej metody przeładowania */
  12. }
  13.  
  14. if(isset($_COOKIE['napis2'])){
  15. echo "ciastko ustawione";
  16. }else{
  17. echo "ciastko nieustawione"; //to sie pojawia - DLACZEGO?!
  18. }
  19. ?>
sniezny_wilk
Ciastka działają, wszystko zrobiłeś okej. Wywołaj HTML'a prześlij coś, pojawi się Tobie PHP'ep, odśwież stronkę z PHP'ep i pojawi się "ciastko ustawione" smile.gif Wynika to z tego, że przeglądarka zapisuje sobie ciastko, ale jest ono widoczne dopiero po ponownym wejściu na stornę, bądź odświeżeniu. Jeśli możesz używaj sesji w PHP, lub po zapisie ciasteczka wymuś odświeżenie i będzie okej biggrin.gif

EDIT: hehe misiek172, byłeś szybszy o 3 minuty..
kabooom
aha ok dzieki rozumiem, ale czy jest to wina mojej przegladarki ( IE6 ), czy taka jest wlasciwosc ciastek w php (czyli problem bedzie wystepowal takze w innych przegladarkach) ?
sniezny_wilk
Taka jest właściwość ciasteczek, będzie tak się działo w każdej przeglądarce. A do czego wykorzystujesz ciasteczka ?
kabooom
nie tyle wykorzystuje co poprostu sie ucze, chyba sie przydaja w praktyce, nie?
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.