Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript] Jak sprawdzić czy włączone JS, cookies?
obelix94
post 19.03.2009, 17:56:55
Post #1





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Witam!

Chciałbym stworzyć skrypt:
- który sprawdza włączenie js
- który sprawdza włączenie cookies
- który sprawdza przeglądarkę
- blokuje dostęp do strony (gdy js, i cookies wył)
- wyświetla faq jak włączyć cookies/js w danej przeglądarce

Myślę że temat dość prosty i niezbyt wymagajacy. Chciałbym to zrobić w php, ponieważ PHP umiem, a o gotowca w js nie będę prosił.

Liczę na pomoc!


--------------------
Zawieszony w pisaniu przez @mike - pisze na PW. <?php echo !$lubie.'moderatorow' ?>
Jak to czytasz, to współczuj mi. Przebolewam za swe grzechy...
Współczujcie...
Gdzie to współczucie?
Go to the top of the page
+Quote Post
Fifi209
post 19.03.2009, 19:22:12
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(obelix94 @ 19.03.2009, 17:56:55 ) *
Witam!

Chciałbym stworzyć skrypt:
- który sprawdza włączenie js
- który sprawdza włączenie cookies
- który sprawdza przeglądarkę
- blokuje dostęp do strony (gdy js, i cookies wył)
- wyświetla faq jak włączyć cookies/js w danej przeglądarce

Myślę że temat dość prosty i niezbyt wymagajacy. Chciałbym to zrobić w php, ponieważ PHP umiem, a o gotowca w js nie będę prosił.

Liczę na pomoc!


1.

W znaczniku:
<noscript>
</noscript>

Ja tam umieszczałem znacznik meta z przekierowaniem do strony innej

2. W javascript/php robisz tak:
zapisujesz ciasteczko np. 'test' o byle jakiej wartości może być nawet true i czasie time() + 10 <- dla php

3. Dla java script:
Kod
navigator.appName


4.
Do znacznika <noscript> wrzuć meta z przekierowaniem
np.
<META HTTP-EQUIV=Refresh CONTENT="0; URL=brak_js.html">

A jak brak cookie, ja bym na początku ładowania strony zapisał w javascript cookie i je odczytał i w razie czego później:
Kod
document.location = adres;

// lub

window.location = adres;


5. W punkcie 4 odeślij do strony z faq i po problemie ;p
(ja też za js nie przepadam ale masz gotowca w necie ;d jak coś to pisz na pw)


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
obelix94
post 19.03.2009, 19:35:05
Post #3





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Jak mówisz że jest gotowiec w necie to poszukam dokładniej. Tutaj kolega fifi napisałe wyogólnikowany kod dla js, a ma ktoś może takie coś ale np. w php? Czy istnieją tam podobne funkcje?


--------------------
Zawieszony w pisaniu przez @mike - pisze na PW. <?php echo !$lubie.'moderatorow' ?>
Jak to czytasz, to współczuj mi. Przebolewam za swe grzechy...
Współczujcie...
Gdzie to współczucie?
Go to the top of the page
+Quote Post
phpion
post 19.03.2009, 19:39:02
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




PHP (w przeciwieństwie do JS) działa po stronie serwera, a nie klienta. No ale to już powinieneś wiedzieć, "ponieważ PHP umiesz". Tyle na ten temat.
Go to the top of the page
+Quote Post
obelix94
post 19.03.2009, 19:56:21
Post #5





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Dlatego js nie sprawdzę z poziomu PHP. Znalazłem funkcję w php sprawdzania przeglądarki i zrobiłem funckję do sprawdzenia cookie.

1. COOKIES
Zapisujemy cookie i sprawdzamy czy ono jest. Jak nie ma odsyłamy do strony info.php?alert=brakcookies, sprawdzamy przeglądarkę i wyswietlamy odpowiednie faq jak włączyć obsługę cookie.

2. JAVASCRIPT
Jedyne rozwiązanie dla js, to przy <noscript> przekierować na info.php?alert=brakjs i za pomocą php odpowiednio to odebrać oraz sprawdzic przeglądarkę i wyświetlić odpowiednie faq jak włączyć js.

3. UŁATWIENIE
Zamykamy wszystko w funkcji i dajemy na początek każdej strony: sprawdz_uzyt('js'); / sprawdz_uzyt('cookie); / sprawdz_uzyt('all'); zaleznie od tego co mamy na danej podstronie.

Kodu nie podam bo jeszcze ktoś go później znajdzie i będzie miał gotowca.

Dziękuję za pomoc.


--------------------
Zawieszony w pisaniu przez @mike - pisze na PW. <?php echo !$lubie.'moderatorow' ?>
Jak to czytasz, to współczuj mi. Przebolewam za swe grzechy...
Współczujcie...
Gdzie to współczucie?
Go to the top of the page
+Quote Post
kamil4u
post 19.03.2009, 20:05:53
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Ach - a nie łatwiej tak:
Kod
if(document.cookie) alert("tak"); else alert("nie");
zamiast zapisywanie jakiś ciasteczek w PHP czy Bóg wie co?

Ten post edytował kamil4u 19.03.2009, 20:06:37


--------------------
Go to the top of the page
+Quote Post
thomson89
post 19.03.2009, 20:14:36
Post #7





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


A jakbym dał:
  1. <noscript>
  2.   <?php $z = "nie" ?>
  3. </noscript>
  4. <?php $z = 'tak' ?>


To czy kod php wykona się gdy noscript?


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
kamil4u
post 19.03.2009, 20:19:54
Post #8





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Sprawdź - w końcu to około min roboty smile.gif


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 19.03.2009, 20:23:57
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie, gdyż php działa po stronie serwera i wysyła gotowy wynik do użytkownika. winksmiley.jpg Poza tym takie łączenie html z php jest nieeleganckie, nieestetyczne i w ogóle jest do niczego. ;d


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
thomson89
post 19.03.2009, 20:27:04
Post #10





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


No nie działa. Będę kombinował z tym bo mnie zaciekawiło...

  1. <?php
  2. setcookie('test', 'tak', time()+10000);
  3. //SPRAWDZANIE PRZEGLĄDARKI
  4. $przeglad = $_SERVER['HTTP_USER_AGENT'];
  5.  
  6. if(substr_count($przeglad,"pera")!=0)
  7.   { $przegladarka = "Opera"; }
  8. else if(substr_count($przeglad,"MSIE")!=0)
  9.   { $przegladarka = "Internet Explorer"; }
  10. else if(substr_count($przeglad,"etscape6")!=0)
  11.   { $przegladarka = "Netscape 6"; }
  12. else if(substr_count($przeglad,"rv:1.")!=0)
  13.   { $przegladarka = "Mozilla 1.x"; }
  14. else if(substr_count($przeglad,"4.7")!=0)
  15.   { $przegladarka = "Netscape 4.7x"; }
  16. else
  17.   { $przegladarka = "inna"; }
  18.  
  19. //sprawdzenie cookies
  20.  
  21. if($_COOKIE['test'] != 'tak'){
  22.    $ciasteczka = "nie ";
  23. }
  24. else $ciasteczka = '';
  25.  
  26. echo "Twoja przegladarka to ".$przegladarka."<br>";
  27. echo "Twoja przegladarka ".$ciasteczka."obsługuje cookies!</br>"
  28. ?>
  29. <noscript>
  30.    Twoja przegladarka nie obsługuje javascript!
  31. </noscript>
  32. <script type=text/javascript>
  33.    document.write('Twoja przegladarka obsluguje javascript');
  34. </script>


Pochwalę się moim kilku minutowym dziełem "sprawdź mnie!".
I na dodatek wszystko działa, tzn. gdy wyłącze js to wyświetla się Twoja przegladarka obsluguje javascript, a jak wyłacze cookies wyswietla się Twoja przegladarka nie obsługuje cookies!

Jeszcze myślałem nad tym aby dać:
  1. $szukaj = "
  2. ?>
  3. <noscript>
  4. Twoja przegladarka nie obsługuje javascript!
  5. </noscript>
  6. <script type=text/javascript>
  7. document.write('Twoja przegladarka obsluguje javascript');
  8. </script>
  9. <?php
  10. ";


Ale wtedy JS nie działa. A zna ktoś moze podobny sposób? Bo o ile COOKIE i to wszystko mozna na poziomie php to dlaczego sprawdzenia JS nie można?

Potem jakbym miał to w zmiennej mogę dać strstr i poszukać nie.

Ten post edytował thomson89 19.03.2009, 20:35:24


--------------------
Sklep 70%
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 23:37