Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z cookie
gvk
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.02.2006

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


ustawiam cookie:
setcookie("voted", "1", time()+604800);
przy probie odczytania zawartosci np. :
if ($_COOKIE['voted']=="1") {
wyskakuje mi Notice: Undefined index: voted in ...
wszytsko chodzi, ale ten komunikat mi przeszkadza.
Co robic?
Z góry dziękuje...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2. setcookie("voted", "1", time()+604800);
  3. ?>

musis nastapic przeladowanie strony...
  1. <?php
  2. setcookie("voted", "1", time()+604800); header( 'location: strona.pl' );
  3. ?>


sprawdz czy przegladarka obsluguje cookie
Go to the top of the page
+Quote Post
gvk
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.02.2006

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


cookie jest ustawiane po przesłaniu danych do formularza, po czym nastepuje przeładowanie headerem. Odczytuje wartości z ciasteczka juz po przeładowaniu. Przeglądarka obsługuje cookie i cały skrypt działa poprawnie - jedynie pojawia sie sie ten notice.
To musi byc związane z register_globals bo kiedys gdy było włacząne wszystko było ok, teraz mam na off i pojawia sie komunikat.
Go to the top of the page
+Quote Post
tiraeth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Notice wyświetla się gdy, np. próbujesz się odwołać do zmiennej (bądź indeksu w tablicy) gdy ta nie istnieje. Prawdopodobnie Twoje cookie chce być wyświetlone nawet gdy ktoś wcześniej nie wypełnił formularza i np. chcesz je wyświetlić w formularzu, z informacją, że takowy został już wysłany (to tylko przypuszczenia)...

Zamiast sprawdzania wartości cookiesa ($_COOKIES['voted'] == 1) zrób sprawdzenie czy takowy istnieje (array_key_exists('voted', $_COOKIE)) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ewentualnie na początku skryptu:
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. ?>

Co spowoduje raportowanie wszystkiego co nie jest Notice (wskazówką), czyli tak jak powinno być domyślnie
Go to the top of the page
+Quote Post
gvk
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.02.2006

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


uzyłem array_key_exists i wszystko jest ok. dzieki
Go to the top of the page
+Quote Post

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: 22.08.2025 - 18:56