Avatar billede chatonline Nybegynder
11. september 2004 - 17:10 Der er 3 kommentarer og
1 løsning

IP reg. og IP check

Jeg har et script hvor man kan indsende sit svar. Men for at folk ikke skal snyde, så skal man kun have mulighed for, at svare en gang pr. ip.

Jeg går ud fra scriptet skal gemme ip'nr, når svaret gives og når scriptet ses, skal det checke om brugeren allerede er reg.

Sådan ser scripet ud når den skal checke det svar man sender om det er korrekt eller forkert:

<!-- indhold start -->
<?php
$navn = $_REQUEST[navn];
$email = $_REQUEST[email];
$spg = "Er der biler i kina?";
$svar = $_REQUEST[svar];
if ($svar == "Ja"){

mysql_query("Insert into forum_konkurrence(svar, navn, email) VALUES ('$svar','$navn','$email')");
echo "Du svarede rigtigt og er nu med i konkurrencen";
} else {
echo "<br>Desværre du svarede forkert!<br>";
}
?>
<!-- indhold slut -->
Avatar billede alvion Nybegynder
11. september 2004 - 21:02 #1
Du skal tilføje et felt i tabellen. Kald det "remote_addr" som en varchar(15) og lav et index på feltet (af performance hensyn).

Så skulle følgende script gøre tricket. Jeg har tilladt mig at strukturere det lidt anderledes. Det giver en bedre logik - hvilket jeg håber at du kan se.
----------------------------------
<?php
$remote_addr = $_SERVER["REMOTE_ADDR"];
$res = mysql_query("SELECT * FROM forum_konkurrence WHERE remote_addr = '$remote_addr' ");
if ($row = mysql_fetch_array($res)) {
    echo "Du har allerede svaret";
    exit;
}

$svar = $_REQUEST[svar];
if ($svar != "Ja") {
    echo "<br>Desværre du svarede forkert!<br>";
    exit;
}

$navn = $_REQUEST[navn];
$email = $_REQUEST[email];

mysql_query("INSERT INTO forum_konkurrence (svar, navn, email, remote_addr)
            VALUES ('$svar','$navn','$email', '$remote_addr')"
);

echo "Du svarede rigtigt og er nu med i konkurrencen";
?>
Avatar billede chatonline Nybegynder
14. september 2004 - 09:41 #2
<!-- indhold start -->
<?php
$remote_addr = $_SERVER["REMOTE_ADDR"];
$res = mysql_query("SELECT * FROM forum_konkurrence WHERE remote_addr = '$remote_addr' ");
if ($row = mysql_fetch_array($res)) {
    echo "Du har allerede svaret";
    exit;
}

$svar = $_REQUEST[svar];
if ($svar != "Ja") {
    echo "<br>Desværre du svarede forkert!<br>";
    exit;
}

$navn = $_REQUEST[navn];
$email = $_REQUEST[email];

mysql_query("INSERT INTO forum_konkurrence (svar, navn, email, remote_addr)
            VALUES ('$svar','$navn','$email','$remote_addr')"
);

echo "Du svarede rigtigt og er nu med i konkurrencen";
?>

Svarer den forkert uansat hvad.
Avatar billede alvion Nybegynder
14. september 2004 - 10:46 #3
Kan jeg se det i funktion et eller andet sted?
Avatar billede chatonline Nybegynder
05. august 2005 - 09:39 #4
Lukket..
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester