Autor | Zpráva | ||
---|---|---|---|
fafa Profil * |
#1 · Zasláno: 1. 8. 2006, 18:02:49
Dobrý den, již delší dobu si lámu hlavu nad následujícím skriptem. Totiž, ať už v jakémkoliv prohlížeči, vždy mi anketa dovolí kliknout dvakrát, tj. tento skript proběhne dvakrát, až pak zareaguje podmínka, že už bylo hlasováno, jako by sessions i cookies reagovaly se spožděním. Asi je něco špatně, ale nevím co...
//pocatecni prirazeni do session a cookie informaci o tom, ze zatim nebylo hlasovano a muze se jeste hlasovat if(!isset($_SESSION['hlasovano_s']) and !isset($_COOKIE['hlasovano_c'])) { setcookie("hlasovano_c","ne",$cas); session_register("hlasovano_s"); $_SESSION["hlasovano_s"] = "ne"; } (po kliknutí na anketu a odesláni tlačítkem se ustanoví SESSIONS i COOKIES, a v následujícím skriptu se zpracovávají) session_start(); if(!isset($_POST['anketa'])){Header('Location: '.$adresa_webu.'index.php');} if($_SESSION['hlasovano_s']=="ano" or $_COOKIE['hlasovano_c']=="ano"){Header('Location: '.$adresa_webu.'index.php');} if ($_SESSION['hlasovano_s']=="ne" or $_COOKIE['hlasovano_c']=="ne"){ $cas = time() + 1000; setcookie("hlasovano_c","ano",$cas); $_SESSION['hlasovano_s'] = "ano"; $id = Sql_Safe($_POST['id'],"n"); $count = Sql_Safe($_POST['anketa'],"t"); $dotaz = "select ".$count." from ankety where id=".$id." limit 1"; $result = @mysql_query($dotaz) or System_Error(7); $row = @mysql_fetch_row($result); $number = $row['0']+1; $dotaz = "update ankety set ".$count."=".$number." where id=".$id; @mysql_query($dotaz) or System_Error(6); @mysql_close(); } Header('Location: '.$adresa_webu.'index.php'); Dále mi není jasná implementace sessions a cookies v IE 5, 5.5 - jak to mám proboha udělat, aby se nechalo přihlásit, či hlasovat ve výše uvedené anketě? Díky... |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0