Vote.php et MySQL .... ça fait rien !

Bonjour !

j’ai trouvé sur ces forums ceci : http://www.clubic.com/forum/php-systeme-de-vote-t367374.html

et j’ai donc décidé de l’utiliser mais malheuresement je n’y arrive pas :frowning:

voici mon code :



$host = "sql.free.fr"; //votre serveur SQL
$user = "****"; //votre nom d'utilisateur
$pass = "****"; //votre password
$bdd = "*****"; // votre base de donnée


@mysql_connect($host, $user, $pass);
@mysql_select_db("$bdd") or die("Impossible de se connecter");
$note = $_GET["note"];
$ip = $_SERVER["REMOTE_ADDR"];
$video = $_GET['page'];
$sql = "SELECT * FROM gni_vote WHERE ip = '$ip'";
$req = mysql_query($sql);
$nb = mysql_num_rows($req);
if ($nb != 0) {
echo "Vous avez déja voter";
}
else {
$sql = "INSERT * FROM gni_vote (video,ip,note) VALUES ('$video','$ip','$note')";
mysql_query($sql);
}
echo "Vidéo votée !";
mysql_close();

?>

et voici ma table http://img411.imageshack.us/img411/1880/sqlzm1.jpg

Donc en gros ça ne fait rien au niveau de MySQL… mais ça affiche bien

Voila ou j’en suis… je ne sais pourquoi rien n’est enregistré dans ma table :s

Aidez moi !

remplace ‘insert * from’ par ‘insert into’

Ca me semble un peu bancal la première méthode pour le test de vote (Et si plusieurs personnes on la même adresse IP visible?)… La requête me semble coûteuse, un ‘limit 1’ est suffisant

Moi ce qui me semble bancal, c’est le vous avez déjà voter :wink:

Sinon SELECT * FROM gni_vote WHERE ip = ‘" . mysql_real_escape_string($ip) . "’ me semble mieux.

Sauf que : IP est de type TEXT, place ça en type VARCHAR(32), ou INT (mais là faut jouer avec http://www.php.net/manual/en/function.ip2long.php)), et colles y un INDEX.