ďťż
Podstrony
|
telcocafeWitam,Mam serwis www.stupidvideo.pl i chce aby dla niezalogowanych gosci po 15 wyswietleniach filmika pojawialo sie przekierowanie do informacji ze musza sie zalogowac. W indexie na samej gorze dalem to: if($_GET[page] == 'display') { $logged = check_logged(); if(!($logged)) { if(!($_COOKIE['user_licznik'])) { setcookie ("user_licznik", 1, time()+604800); } if($_COOKIE['user_licznik']<15) { setcookie ("user_licznik", $_COOKIE['user_licznik']++, time()+604800); } if($_COOKIE['user_licznik']==15) { header("Location: http://www.stupidvideo.pl/index.php?page=licznik"); } } } Display to modul wyswietlania filmika. Z tym skryptem nic sie nie dzieje zadne cookie sie nie dodaje!? W czym tkwi blad?? PS. Mam jeszcze prosbe o sprawdzenie tego zapytania: SELECT id,tytul,miniaturka MATCH (tytul) AGAINST ('".$fraza."') AS score FROM stuff WHERE MATCH (tytul) AGAINST ('".$fraza."') ORDER BY score LIMIT 0,30 Zamiast tego: if(!($_COOKIE['user_licznik'])) Powinno być chyba: if(isset($_COOKIE['user_licznik'])) Być może wysyłasz cookie jeśli już coś wysłałeś do przeglądarki. Cookies, jak i nagłówki należy wysłać przed jakąkolwiek treścią. Po 1 tak sie nie wysyla zmiennej : if($_GET[page] == 'display') tylko tak: if($_GET['page'] == 'display') Po 2. if(!($logged)) ma byc : if(!$logged) ale wedlug mnie i tak powinno byc inaczej (isset) Po 3. ... Dam sobie spokój z wypisywaniem bledow tylko napisze jak ten skrypt ma wygladac ... if($_GET['page'] == 'display') { $logged = check_logged(); if(!$logged) { if(isset($_COOKIE['user_licznik'])) { $_COOKIE['user_licznik'] = 0; } $user_licznik = $_COOKIE['user_licznik']++; setcookie ("user_licznik", $user_licznik, time()+604800); $_COOKIE['user_licznik'] = $user_licznik; if($_COOKIE['user_licznik'] < 15) { setcookie ("user_licznik", $user_licznik, time()+604800); $_COOKIE['user_licznik'] = $user_licznik; } if($_COOKIE['user_licznik']==15) { header("Location: [url="http://www.stupidvideo.pl/index.php?page=licznik");"]http://www.stupidvideo.pl/index. php?page=licznik");[/url] } } } Jak nie dziala, to odslon funkcje check_logged(); //tj Pokaz :) Użytkownik sokol edytował ten post 05 maj 2007, 19:25 OMG. <_< Widać, że nikt z Was nie potrafi korzystać z setcookie Odsyłam do manuala i proponuję zamknąć temat. A teraz sprostowanie: 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);. - na logike. Jakim cudem, skrypt wykonywany po stronie serwera ma zapisać wartości w przeglądarce bez wysyłania nagłówków, coooo ? Użytkownik DJ_ProG edytował ten post 05 maj 2007, 19:33 a co to : $_COOKIE['user_licznik'] = $user_licznik; Hmm, nie dziala ;( uzylem twojego kodu sokol ale nadal niedziala, oto funkcja check_logged: function check_logged($logging = false, $permissions = 1) { global $_POST, $_SESSION, $md5_prefix; if ((!$logging && !isset($_SESSION['login'], $_SESSION['pass'])) || ($logging && !isset($_POST['login'], $_POST['pass']))) { return false; } $res = mysql_query('select count(*) from `fbw_useradmin` where `login`=\'' . ($logging ? mysql_value($_POST['login']) : $_SESSION['login']) . '\' and `pass`=\'' . ($logging ? md5($md5_prefix . $_POST['pass']) : $_SESSION['pass']) . '\' and `permissions` >= \'' . $permissions . '\''); $row = mysql_fetch_assoc($res); if ($row['count(*)'] != 0) { return true; } return false; } Ta funkcje uzywam tez gdzie indziej i dziala dobrze. Mam serwer na superhost ale na innym skrypcie dziala wszystko dobrze wiec nie wiem w czym problem. Użytkownik ebooki24 edytował ten post 05 maj 2007, 20:09 setcookie ("user_licznik", $user_licznik, time() + 604800, "/"); tak zobacz |
|||
Sitedesign by AltusUmbrae. |