hyp3z Skrevet 16. juni 2003 Forfatter Del Skrevet 16. juni 2003 Fint du tok deg tid til det Er alltid åpen for mer fleksibilitet, men det kan vi ta en gang du har tid Har egentlig det jeg trenger i tabellen, men behovet for flere funksjoner vil nok komme med tiden det også. Har prøvd skriptet. Sorteringen funker fint nå, som du sa. Det gjør sperren også, helt til jeg skrur av og på modemet mitt, og fornyer IP'en. Da kan jeg gjøre som jeg har omtalt tidligere, og klikke refresh så mange ganger jeg ønsker uten å få noen sperre opp. Hvorfor det er slik aner jeg ikke, dere kan se om det samme skjer med dere (hvis dere han anledning til å skifte IP). Husk å ikke gå ut av vinduet mens dere fornyer IP'en. Lenke til kommentar
sven-o Skrevet 16. juni 2003 Del Skrevet 16. juni 2003 Så lenge du er på en internettoppkopling med dynamisk ip, vil ikke sperren fungere. Du kan jo f.eks ha en dobbelsperre som sjekker både ip OG cookies, men dette kan jo også omgåes. Dersom du ønsker en 100% løsning må du nok ha avstemming på brukernivå, slik at man må logge seg på for å kunne stemme. Lenke til kommentar
hyp3z Skrevet 18. juni 2003 Forfatter Del Skrevet 18. juni 2003 Hmm.. Cookies hadde jo ikke vært å fornekte, men der ligger alt på dere to .. Alt etter hva dere vil bruke tid på Take u'r time PS: Hvordan er status for automatisk resetting av lista nå egentlig? Har vi det? Mistet litt oversikten her. Lenke til kommentar
sven-o Skrevet 21. juni 2003 Del Skrevet 21. juni 2003 Disse forandringene er nå gjort for å sjekke cookies også: I check_ip.php: -Lagt til en funksjon som formaterer tid basert på unix-timestamp: -Lagt til en sjekk helt øverst før vi sjekker ip.(Dersom den finner en småkake, så trenger vi ikke å sjekke ip i tillegg) <?php function check_ip() { //Sjekk cookie først! if(isset($_COOKIE['stemt'])){ $dato = formater_tid($_COOKIE['stemt']); echo "Beklager, du avga stemme <b>$dato</b>.<br>For å unngå manipulering av resultatet tillater vi ikke flere stemmer fra deg dette døgnet.<br><br><a href=index.php?ID>Tilbake</a>"; exit(); } $ip = $_SERVER['REMOTE_ADDR']; /* Database Information - Required!! */ /* -- Configure the Variables Below --*/ $dbhost = '127.0.0.1'; $dbusername = 'root'; $dbpasswd = 'root'; $database_name = 'vote'; /* Database Stuff, do not modify below this line */ $timeout = time() - 86400; //86400sekunder=24timer $connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die ("Couldn't connect to server."); $db = mysql_select_db("$database_name", $connection) or die("Couldn't select database."); $query = "DELETE FROM voted WHERE timestamp<$timeout"; $result2 = mysql_query($query) or die("<br>Query failed:<br> $query"); $query = "SELECT * FROM voted WHERE IP='$ip'"; $result = mysql_query($query) or die("<br>Query failed:<br> $query"); $num=mysql_numrows($result); if ($num>0) { $dato=mysql_result($result,0,"timestamp"); $dato = formater_tid($dato); echo "Beklager, noen med IP adressen <b>$ip</b> avga stemme <b>$dato</b>.<br>For å unngå manipulering av resultatet tillater vi ikke flere stemmer fra samme IP.<br><br><a href=index.php?ID>Tilbake</a>"; exit(); } } function formater_tid( $timestamp ){ $dato=getdate($timestamp); $tid=array($dato['hours'],$dato['minutes']); if(strlen($tid[0]) < 2) $tid[0] = "0".$tid[0]; if(strlen($tid[1]) < 2) $tid[1] = "0".$tid[1]; $tid=$tid[0].":".$tid[1]; $dato = $dato['mday']."/".$dato['mon']." ".$dato['year']; $tid = $tid." ".$dato; return $tid; } ?> I vote.php: - Her trengte vi bare å legge til følgende kodelinje: setcookie ("stemt",time(), time()+86400); Er egentlig samme hvor du legger denne linjen, så lenge du ikke skriver noe html først. Var ikke så vanskelig, eyh? :wink: Lenke til kommentar
hyp3z Skrevet 21. juni 2003 Forfatter Del Skrevet 21. juni 2003 TAKK! Nå er vi godt på vei! Håper det er OK jeg sender deg en melding dersom jeg trenge litt hjelp med skriptet Ha en fin helg! EDIT: Skulle hatt en kolonne til med "Hjemmeside". Gidder du forklare kort hvordan jeg går fram? Lenke til kommentar
hyp3z Skrevet 26. juni 2003 Forfatter Del Skrevet 26. juni 2003 OK - fikk til hjemmeside feltet selv. Men det jeg lurer på er om det er mulig å automatisk sende en person videre til index.php etter han har brukt sin stemme. Slik at linken ikke blir ../index.php?ID Noen som vet? Problemet er at det virker som om cookie'en som vi la inn kun hentes ned dersom siden åpnes i eget vindu. Jeg åpner siden i en frame, og kan stemme så mange ganger jeg ønsker ved å klikke Refresh / F5. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå