![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. mam pewien problem.
Otóż potrzebuje na swojej stronie zamieścić ostrzeżenie, że treści na niej zawarte są wyłącznie dla pełnoletnich odbiorców. Wydaje mi się, że najczęściej używanym rozwiązaniem jest skorzystanie z java scriptu. No i mam taki kodzik: CODE <script LANGUAGE="javascript"> <!-- function Info() {if (!confirm("Strona tylko dla osob 18 +!")) history.go(-1);return " "} document.writeln(Info()) <!--End--> </script> Z tym, że nie działa to dokładnie tak jak bym chciał. Mianowicie wyświetla się przy każdym odświeżeniu i na każdej podstronie, a ma być zwyczajnie przy pierwszym wejściu. Nie wiem, czy problem tkwi w źle napisanym kodzie, czy w złym go umiejscowieniu (mam na początku <body>, próbowałem również w <head>- to samo. Wydaje mi się, że może gdzieś powinna być zapisywana informacja, ale jak to zrobić niestety nie wiem. Bardzo proszę o pomoc, albo z kodem, albo o jakiś gotowiec. Byle by działało. Pzdr |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 1 Dołączył: 22.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Użyj ciasteczek
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że najczęściej używanym rozwiązaniem jest skorzystanie z java scriptu. Przy takich poważnych sprawach jak furtka należałoby skorzystać z PHP ponieważ JS jest często blokowany i Twoja strona będzie źle zabezpieczona (tu wchodzi chociażby kwestia prawna, osobiście nie akceptuje reklam stron +18, które nie mają furtki lub furtka jest właśnie w JS). Potrzebujesz tylko gdzieś na początku skryptu odczytującego czy jest stworzone ciastko i przekierowanie za pomocą header. Proponuje żywotność ciastka ustalać na sesje (aż do wyłączenia przeglądarki) bowiem z jednego komputera może korzystać kilka osób. |
|
|
![]() ![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może ktoś byłby w stanie to napisac?
Dla wprawionego to pewnie 5 min pracy, dla laika dluuuuuga droga. Patrzyłem co nieco na zapisywanie w cookies, ale wyglada co przynajmniej odstraszajaco;/ Edit: Mam coś takiego: Robię stronę check-it.php CODE <? //Check user agent $r_explorer = $_SERVER [ 'HTTP_USER_AGENT' ]; if ( ( substr_count ( $r_explorer , 'bot' )== 0 ) and ( substr_count ( $r_explorer , 'yahoo' )== 0 ) and ( $_COOKIE [ 'warning1' ]!= 21 ) ) { include 'warning-page.php' ; } ?> W index.php strony, na której chce umieścić ostrzeżenie: CODE <? include 'check-it.php' ; ?> Tworzę również warning-page.php CODE <? //Lets Set the cookie if ( $_GET [ 'myage' ]== "I-Am-Older-Than-18" ) { $page1 = $_GET [ 'page1' ]; setcookie ( "warning1" , 21 , time ()+ 7200 ); header ( 'Location:' . urldecode ( $page1 )) or die( '<a href="' . urldecode ( $page1 ). '"></a>' ); } ?> <!--Now the Html Part- Remove this line please--> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ADULT CONTENT WARNING</title> <link href="mystyle.css" rel="stylesheet" type="text/css"> </head> <body> <script LANGUAGE="javascript"> <!-- function Info() {if (!confirm("Strona tylko dla osob 18 +!")) history.go(-1);return " "} document.writeln(Info()) <!--End--> </script></body></html> I po tym ostatnim zupełnie traci sens, tj nie zapamiętuje cookies. W oryginale ta ostatnia część wygląda tak: CODE <? //Lets Set the cookie if ( $_GET [ 'myage' ]== "I-Am-Older-Than-18" ) { $page1 = $_GET [ 'page1' ]; setcookie ( "warning1" , 21 , time ()+ 7200 ); header ( 'Location:' . urldecode ( $page1 )) or die( '<a href="' . urldecode ( $page1 ). '"></a>' ); } ?> <!--Now the Html Part- Remove this line please--> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ADULT CONTENT WARNING</title> <link href="mystyle.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#000000" style="margin:0px;"> <table cellspacing="0" cellpadding="0" border="0" style="width:100%;height:100%;"> <tr> <td align="center"> <p><b><font color="#FFFF66" face="Verdana, Arial, Helvetica, sans-serif" size="3">Adult Content Warning ! <br> <img src="warning.png" width="240" height="80"> <br> </font></b><br> <h2> <a href="warning-page.php?myage=I-Am-Older-Than-18&page1= <?=urlencode ( $_SERVER [ 'REQUEST_URI' ]) ?> "><font style="font-size:20px; font-family:'Verdana '; color:red"><b>Click Here if You are older than 18 Years Old</b></font><br> </a><br> <a href="http://www.someothersite.com">Click Here to Leave </a></p> </td> </tr> </table></body></html> z tym, że wtedy wyświetla mi się to na index.php, nie odklikując nic można przeglądać zawartość. Może teraz jakaś pomoc? Ten post edytował Barrackin 18.11.2010, 18:11:40 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Gdzieś na początku każdej podstrony serwisu wywołujesz lub includujesz funkcje, która działa w następujący sposób:
Sprawdzasz czy ciasteczko istnieje. Wystarczy do tego proste isset oraz odwołanie do tablicy $_COOKIE, czyli $_COOKIE['check'] np. Jeśli istnieje to nic nie robisz. Jeśli nie istnieje to dokonujesz przekierowania za pomocą header (dlatego skrypt koniecznie musi być wywołany przez wyświetlaniem strony) na stronę z informacją. Domyślam się, że są dwie opcje do wyboru. Jeśli ktoś jest niepełnoletni to nie wiem, przekierowanie na jakąś stronę czy brak akcji - Twoja sprawa. Jeśli jest pełnoletni, czyli klika TAK i wysyła formularz. Odbierasz dane z formularza - ustawiasz ciasteczko za pomocą setcookie i robisz przekierowanie na stronę właściwą. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Markonix, to może inaczej. Za ile byś to zrobił?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Pytania osobiste kierować najlepiej na PW i tam właśnie dostałeś odpowiedź.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:08 |