Salut Toto,
Si je puis me permettre, quelques habitudes à prendre qui vont changer ta vie...
1°) Ne pas remettre les trois fonctions "mysql_close()" mysql_connect() et mysql_select_db() à chaque fois.
Pour la connexion, tu mets les fonctions "mysql_connect()" et mysql_select_db dans un fichier, que tu inclueras
au début de ton fichier. Et
à la fin de ton fichier tu mets la déconnexion mysql_close()
2°) Indentes ton code, là c'est illisible et donc impossible de voir les fautes, voici ton code indenté correctement :
if (empty($_POST['choix']))
{
echo 'Vous n\'avez pas sélectionné de choix. Cliquez AJOUTER JS ici pour revenir a la page.';
}
else
{
if ($_POST['choix'] == Choix1)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('".$_POST['choix']."', '', '')");
mysql_close();
}
elseif ($_POST['choix'] == Choix2)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '".$_POST['choix']."', '')");
mysql_close();
}
else ($_POST['choix'] == Choix3)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '', '".$_POST['choix']."')");
mysql_close();
}
}
Ensuite encore, n'écrit pas :
else ($_POST['choix'] == Choix3)
Mais :
else ($_POST['choix'] == "Choix3")
Enfin, pour ton erreur, soit elle vient de cet oublie de guillemets, soit elle vient du fait que tu dois avoir un " ou un ' dans la variable $_POST['choix']
Ce qui fait que ca fait sortir PHP de la chaine de requete, et planter le code.
De plus c'est très dangereux, ca s'appelle des injections SQL c'est à dire que je peux envoyer à ton script ceci :
CHOIX 1') UNION SELECT motdepasse FROM users WHERE rank = 'admin'
Et en supposant que les tables users et les champs "modepasse" et "rank" existent, j'aurai obtenu ton mot de passe !
Il faut donc faire :
//On vire tout ce qui pourrait planter la requete, attention il faut déjà être connecté à la bdd ! (mysql_connect())
$insertion = mysql_real_escape_string($_POST['choix']);
mysql_query(....".$insertion.");
Voilou
NB : C'est pas simple un bon script de sondage, surtout pour le protéger, crois-moi !