12. august 2007 - 17:15Der er
7 kommentarer og 1 løsning
Test om ip findes i db?
Hej
Jeg har logget en ip til en post i min db og nu vil jeg gern sikre mig at den samme ip ikke kan lave dobbelt post i min db.
Jeg har rodet lidt med det, men ved ikke rigtigt hvordan jeg kan søge blant alle poster og finde ud af om ip allerede er der!
Min php kode (den giver felj hvis der ikke er en ip som passer, men det er her jeg er pt.):
$res = @mysql_query("SELECT userIp FROM tabel WHERE userIp = $_SERVER[REMOTE_ADDR]"); while ($row = mysql_fetch_array($res)) { $userIp = $row['userIp']; echo "$userIp"; }
if (isset($_POST['submit']) && $userIp != '') { $sql = "INSERT INTO tabel SET userIp = '$_SERVER[REMOTE_ADDR]', datetime = CURRENT_TIMESTAMP(), age = '$_POST[age]', spg1 = '$_POST[spg1]', spg2 = '$_POST[spg2]', spg3 = '$_POST[spg3]', spg4 = '$_POST[spg4]', spg5 = '$_POST[spg5]', spg6 = '$_POST[spg6]'";
if (mysql_query($sql)) { echo "<h1>Tak for hjælpen</h1>"; } else { echo "<h1>Error: " . mysql_error() . "</h1>"; } } else { echo "<h1>Desværre jeg har kun brug for din mening engang! Tak</h1>"; }
Du kan lave ip-feltet uniq. Derefter er det bare at køre din insert og undertrykke fejl. Derefter kan du så spørge på et evt. fejlnummer:
$sql = "INSERT INTO `tabel` (... ... ...) VALUES (... ... ...)"; @mysql_querry($sql); if (mysql_errno()==1062) { // IP'en fandtes i forvejen ... gør noget }
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.