Hallo,

Ik kom niet verder met me script want ik maak een loterij script maar je mag maar 1 keer meedoen. Maar nu kan je zovaak mee doen als je wilt. Hij slaat de IP op in de database (database connectie heb ik net weggehaald) maar je kan zo vaak mee doen als je wilt.

Zo, heeft iemand de oplossing, hier onder is me script:

<?php

$sql = mysql_query('SELECT ip FROM loterij WHERE ip="'.$_SERVER['REMOTE_ADDR
'].'"') OR die (mysql_error());
$naam = strip_tags($_POST['naam']);
$email = strip_tags($_POST['email']);
$ip = $_SERVER['REMOTE_ADDR'];
if(mysql_num_rows($sql) >= 1){
	echo 'Je hebt je al eens eerder aangemeld voor de loterij, kom morgen maar weer terug!';
} else {
	if($_POST['submit']){
		if($_POST["naam"] != "" && $_POST["email"] != ""){
			$insert = 'INSERT INTO loterij (naam, email, ip) VALUES ("'.$naam.'", "'.$email.'", "'.$ip.'")';
			mysql_query($insert) OR die (mysql_error());
			echo 'Bedankt voor je deelname aan de loterij';
		} else {
			echo 'Je bent verplicht alle velden in te vullen.';
		}
	} else {
								echo '<form method="post">';
						 	echo '<table border="0" width="100%" cellspacing="1" cellpadding="0"><form method="POST">';
								echo '<tr>'; 
   		echo '<td width="28%"><FONT STYLE="font-family:Verdana;font-size:11" color="white">Naam:</td>'; 
		echo '<td width="72%" colspan="2"><input type="text" style="width: 50%" name="naam">';
		echo '</td>';
		echo '</tr>'; 
		echo '<tr>'; 
		echo '<td width="28%"><FONT STYLE="font-family:Verdana;font-size:11" color="white">Email:</td>'; 
		echo '<td width="72%" colspan="2"><input type="text" style="width: 50%" name="email">';
		echo '</td>';
		echo '</tr>';  
								echo '<tr>';
								echo '<td>';
								echo '<input type="submit" name="submit" value="Verzend">';
								echo '</td>';
								echo '</tr>';
		echo '</form>'; 
		echo '</table>';
	}
}

?>
marnix schreef op 28.12.2007 13:26
Maar hoe maak je het unique dan?
Het zal ongetwijfeld aan mij liggen, maar ik snap niet waarom je in dit soort gevallen niet even de handleiding er bij pakt. Daar staat namelijk letterlijk uitgelegd hoe je een UNIQUE-index aanmaakt.

RTFM

Verder kun je in MySQL per tabel slechts 1 auto_increment aanmaken, maar MySQL is dan ook nogal beperkt in de functionaliteit. Je kunt het eigenlijk niet eens een DMBS noemen, daarvoor gaat er veel te veel fout en ontbreekt er teveel functionaliteit. Wil je een echte database hebben, dan zul je deze gebreken zelf moeten oplossen of een kant-en-klare DBMS moeten gebruiken. Denk bv. aan PostgreSQL of Firebird.

Reageren