![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób przy pomocy PHP sprawdzić czy użytkownik ma włączone cookies w swojej przeglądarce?
Chodzi mi tu o prosty warunek. Jeżeli użytkownik ma włączone cookies wykonaj tą czynność w przeciwnym wypadku wykonaj inną czynność. -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś być bardziej precyzyjny i wrzucić odpowiedni kod na forum bo próbuje ale coś nie kula.
![]() -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 74 Pomógł: 5 Dołączył: 17.07.2007 Skąd: Krakow Ostrzeżenie: (0%) ![]() ![]() |
To jest ten kod z forum:
Kod <?PHP
setcookie("cookies","yes",time() +"3600"); $js = 0; $cookies = 0; if (isset($_GET["js"])) { $js = 1; } if (isset($_COOKIE["cookies"])) { $cookies = 1; } if ($cookies == 0 || $js == 0) { #in english: if $cookies equals zero or $js equals 0 header("Location:http://www.livejournal.com"); } else { #if js and cookies are enabled header("Location:http://www.yahoo.fr"); } ?> <html> <head> <script type="text/javascript"> if (!window.location.search.substr(1)) { window.location.href = "test.php?js=yes"; //set test.php to the name of this page... } </script> </head> <body> </body> </html> -------------------- Pozdrawiam
|
|
|
--Jarek-- |
![]()
Post
#5
|
Goście ![]() |
Ten kod nie wykrywa czy ktoś ma włączone cookies czy nie.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Sprawa jest banalna:
http://pl2.php.net/manual/pl/function.setcookie.php Cytat Zwracane wartości - prawie każda funkcja, poza tym że coś robi, zwraca TRUE albo FALSE - nic prostszego, jak to wykorzystać:If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ciekawe podejście do sprawy Pilsener, ale czy w ogóle sprawdzałeś czy to działa?
Testowałem twój skrypt oraz inny, który znalazłem w internecie, ale podobny do twojego. Jednak bez względu na to czy miałem włączone cookies w swojej przeglądarce czy nie (pisząc twoim językiem) wyświetlał "ciacho niedobre". Identycznie było przy tym drugim skrypcie. Nie wiem czy to przypadek czy wskazówka, ale w obu skryptach wyświetlany był ten tekst, który był po "else".
-------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Sprawa jest banalna: Nie ma to jak rzucać linkiem do manuala nie wiedząc co jest w środku, co? http://pl2.php.net/manual/pl/function.setcookie.php ![]() Cytat Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@Szunaj85,
PHP działa na serwerze, więc nie ma bezpośrednio możliwości 'zajrzeć' w ustawienia przeglądarki. Jedyne wyjście to spróbować ustawić ciacho, przeładować stronę i sprawdzić czy ciastko jest widoczne. Możesz też posiłkować się JS, ale i tak wszystko sprowadza się do dwukrotnego wysłania zapytania do serwera. [edit] Pisane na szybko i z palca:
ps. powinno być Location:, ale forum nie przepuszcza. Ten post edytował sowiq 12.09.2008, 12:35:21 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sowiq, Ogólnie skrypt działa. Trochę się jednak pokomplikowało i chciałbym zapytać jakie polecenie można wykorzystać do takiej sytuacji.
Jeżeli użytkownik ma włączone cookies nie rób nic w przeciwnym wypadku wykonaj czynność. -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No przecież potrafisz już sprawdzić czy ciastka są, prawda?
O co więc chodzi? Podstawy logiki są z tego co pamietam w pierwszej klasie liceum (czy tam teraz w gimnazjum, nie wiem). |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli użytkownik ma włączone cookies nie rób nic w przeciwnym wypadku wykonaj czynność. Może tak? Kod // ciacho.php
if(!isset($_GET['set'])){ setcookie('test', '1', time() + 3600); header("Locatio: ciacho.php?set"); } else{ if(!isset($_COOKIE['test'])){ czynnosc(); echo "Czynność wykonana;)"; } } Ten post edytował sowiq 12.09.2008, 17:13:02 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sowiq nie zupełnie o to mi chodziło, myślałem raczej o jakimś poleceniu.
![]()
I jeszcze jedno. Tak z ciekawości do czego służy lub co daje "?set"? ![]() -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bez komentarza...
![]() |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Jakie polecenia?? Człowieku... Ipconfig itd?
Ten post edytował wookieb 14.09.2008, 19:01:15 -------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
![]() -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 02:42 |