Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Setcookie - 406 Not Acceptable, Alternatywa?
MarcinUser
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 19.07.2010

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


Witam, na moim serwerze po użyciu kodu:

  1. setcookie ($id, $id, time()+3600*24);


Strona nie działa, pokazuje się komunikat 406 Not Acceptable. Pisałem do obsługi i kazali mi zmienić to na zgodne z ich serwerem i na tym koniec. Dlatego proszę Was o pomoc bo ostatnio ich obsługa jest... (IMG:style_emoticons/default/thumbsdownsmileyanim.gif)

Chodzi o to, że mam jakby ankietę w której można głosować raz dziennie. Kod strony to:
  1. if(!isset($_COOKIE[$id]))
  2. {
  3. echo 'Głos oddany';
  4. setcookie ($id, $id, time()+3600*24);
  5. }
  6. else
  7. echo 'Juz glosowałeś';


Ten post edytował MarcinUser 7.05.2011, 11:06:52
Go to the top of the page
+Quote Post
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Alternatywa: użyj sesji.

Zapisz w sesji timestamp ostatniego głosu i podczas próby głosowania sprawdź, czy jest starszy niż dzień temu.

To rozwiązanie też jest bardzo dalekie od ideału (można je bardzo łatwo obejść), ale unikniesz problemów z ciasteczkami.
Go to the top of the page
+Quote Post
MarcinUser
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 19.07.2010

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


Tylko, że ogólnie na tym serwerze ciasteczek mogę używać. Mam na nim postawione forum phpbb3 oraz portal na Joomla!, gdzie mam moduł ankiet, w którym faktycznie można tylko raz głosować. Ale ingerencja w taki kod jest ciężka, dlatego myślałem że jest inne rozwiązanie z ciasteczkami.

Ale dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #4





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

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


Co zawiera $id? Może np. serwerowi się nie podoba, że nazwa ciastka to liczba. Spróbuj dodać literkę na początku.
Go to the top of the page
+Quote Post
MarcinUser
post
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 19.07.2010

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


Serwerowi nie podobała się zawartość ciasteczka.
Kod
setcookie ($id, $id, time()+3600*24);


Pierwsze $id nazwa a drugie to zawartość. Wystarczyło zmienić to drugie na dowolny znak np:
Kod
setcookie ($id, "1", time()+3600*24);


I działa. Dzięki (IMG:style_emoticons/default/smile.gif)
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: 23.08.2025 - 12:46