30. juli 2007 - 08:46Der er
12 kommentarer og 1 løsning
Forhindre opdatering af side.
Jeg bruger koden nede for til at hente et tilfædligt udtræk fra min database, problemmet er at hvis man får et resultat man ikke lige kan lide, så kan man bare trykke f5 og vubti, prøve igen.
Er der en måde hvorpå jeg kan slå dette fra? uden at skulle til at gemme ip, og hvad han har fået osv?
-------------------------
$query = mysql_query("SELECT * FROM LovehinaSpeak WHERE xp IN(". implode(",", $vaelgfra) .") and Girl = '$girl' order by RAND() limit 1");
kommer an på hvor "sikkert" det skal være, du kunne jo bare smide en session, med db resultatet i, hvis ingen session var oprettet, problemmet er bare det nemt kan undgås enten ved at skrive en ny SID i din url eller slå cookies fra
Det skal være mere sikkert end det. Tænker selv på om det kan lade sig gøre at redirect en til en ny side når man trykker f5? problemmet er så hvis man trykker opdater i browseren som virker det jo stadig.
Men er lidt nervøs for at min eneste udvej er at gemme brugeres ip og sådan.. :/
hmm, skrive en ny session_id() i adresselinien? Virker ikke for mig!
Du kan jo teste om der er sat en cookie for session, og hvis ikke, så lade være med at foretage forespørgsel. Og er den sat, så tjek om en session er sat, og er den, så lad være emd at foretage forespørgsel.
Nemmeste ville jo så være hvis det var på en side som kræver login.
nåhhh, så er det jo ikke noget problem, så sætter du jo blot en session efter udført query, og så tjekker på om den session er sat FØR query, og er den det, så lav query udfra session, så det samme vises ved opdatering
Nu ved jeg ikke hvordan din side er bygget op, men her udføres query før noget output, fordi du jo bruger cookies til login, og derfor ville jeg sættte en cookie EFTER query
if(!isset($_COOKIE["sql_id"])) {
$query = mysql_query("SELECT * FROM LovehinaSpeak WHERE xp IN(". implode(",", $vaelgfra) .") and Girl = '". $girl ."' order by RAND() limit 1"); $row = mysql_fetch_array($query); setcookie("sql_id", $row["xp"], 0, "/");
}else{
$query = mysql_query("SELECT * FROM LovehinaSpeak WHERE xp = ". intval($_COOKIE["sql_id"]) .""); $row = mysql_fetch_array($query);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.