Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
04-10-2005 - 5:37
Message
#1
|
|
|
Membre Groupe : Membres Messages : 101 Inscrit : 30-07-2005 Lieu : Hyeres, var (en France) Membre n° 7 358 |
Salut a tous! voila, j'ai créer une page de sondage... (elle marche parfaitement)
J'ai toutefois un probleme... Je ne veux pas que quelq'un puisse voter plusieurs fois... Je voudrais qu'un mesage s'affiche et dise : "tu as deja voté, vote ignoré" si le mec déja voté, et que sa ne prenne pas en compte son vote... Voila le code la page CODE <HTML>
<HEAD> <TITLE>Sondage</TITLE> <style type="text/css"> .text {text-decoration:none; color:#FFFFFF; font-family:arial; font-size:10pt} .erreur {text-decoration:none; color:red; font-family:arial; font-size:10pt} body,td,th { color: #000000; } body { background-color: #F0F1F0; } .Style2 {text-decoration: none; color: #000000; font-family: arial; font-size: 10pt; } .Style3 {color: #000000} </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD> <BODY> <center> <? require("./conf.php3"); // CONNEXION MYSQL $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;} // récupération des données $excellente1=@mysql_query("select max(excellente) from sondage"); $excellente=@mysql_result($excellente1,0,"max(excellente)"); $bonne1=@mysql_query("select max(bonne) from sondage"); $bonne=@mysql_result($bonne1,0,"max(bonne)"); $moyenne1=@mysql_query("select max(moyenne) from sondage"); $moyenne=@mysql_result($moyenne1,0,"max(moyenne)"); if ($sondef) { switch($sondage){ case "excellente"; $new_vote=$excellente+1; @mysql_query("INSERT INTO sondage(excellente,bonne,moyenne) VALUES('$new_vote','$bonne','$moyenne')") or die("<p align='center' class='erreur'>Impossible d'enregistrer les données"); break; case "bonne"; $new_vote=$bonne+1; @mysql_query("INSERT INTO sondage(excellente,bonne,moyenne) VALUES('$excellente','$new_vote','$moyenne')") or die("<p align='center' class='erreur'>Impossible d'enregistrer les données"); break; case "moyenne"; $new_vote=$moyenne+1; @mysql_query("INSERT INTO sondage(excellente,bonne,moyenne) VALUES('$excellente','$bonne','$new_vote')") or die("<p align='center' class='erreur'>Impossible d'enregistrer les données"); break; } } $excellente1=@mysql_query("select max(excellente) from sondage"); $excellente=@mysql_result($excellente1,0,"max(excellente)"); $bonne1=@mysql_query("select max(bonne) from sondage"); $bonne=@mysql_result($bonne1,0,"max(bonne)"); $moyenne1=@mysql_query("select max(moyenne) from sondage"); $moyenne=@mysql_result($moyenne1,0,"max(moyenne)"); // DECONNEXION MYSQL mysql_close($db_link); $nbr_total_vote=$excellente+$bonne+$moyenne+$bof; $expour=substr(($excellente*100)/$nbr_total_vote,0,4); $bopour=substr(($bonne*100)/$nbr_total_vote,0,4); $mopour=substr(($moyenne*100)/$nbr_total_vote,0,4); ?> <form method="POST" action="vote.php"> <TABLE BORDER=0 WIDTH=200> <tr> <Td WIDTH="100%" COLSPAN=0 ALIGN="center" BGCOLOR=#F0F1F0 CLASS="text"><p class="Style3">Quelle Pixel Gallery préfères-tu? </p> <p class="Style3"> </p></td> </tr> <tr> <!-- case a cocher --> <TD bgcolor="#F0F1F0" CLASS="Style2"><input type="radio" name="sondage" value="excellente"> Pixel Gallery Loup <BR> <? echo($expour)?>% : <IMG SRC="barre.gif" BORDER=0 WIDTH=<? echo($expour)?> HEIGHT=10> (<? echo($excellente)?> votes) </td> </tr> <tr> <td bgcolor="#F0F1F0" CLASS="text Style3"><input name="sondage" type="radio" value="bonne"> Pixel Gallery Etienne <BR> <? echo($bopour)?>% : <IMG SRC="barre.gif" BORDER=0 WIDTH=<? echo($bopour)?> HEIGHT=10> (<? echo($bonne)?> votes) </td> </tr> <tr> <td bgcolor="#F0F1F0" CLASS="Style2"><input name="sondage" type="radio" value="moyenne"> Pixel Gallery Loup / Etienne <BR> <? echo($mopour)?>% : <IMG SRC="barre.gif" BORDER=0 WIDTH=<? echo($mopour)?> HEIGHT=10> (<? echo($moyenne)?> votes) </td> </tr> </table> <p><INPUT TYPE="submit" VALUE="Envoyer" NAME="sondef" STYLE="font-family: Arial; font-size: 10pt; letter-spacing: 2pt; font-weight: bold"> </form> </center> </BODY> </HTML> -------------------- |
|
|
|
04-10-2005 - 18:18
Message
#2
|
|
![]() Administrateur Groupe : Administrateurs Messages : 7 353 Inscrit : 21-09-2001 Lieu : Granby, Québec Membre n° 1 |
Les cookies sont tes amis mon cher.
-------------------- Pensez à lire les règlements avant de poster!
Québec own! On se laissera pas faire STI! |
|
|
|
05-10-2005 - 8:49
Message
#3
|
|
|
Membre Groupe : Membres Messages : 101 Inscrit : 30-07-2005 Lieu : Hyeres, var (en France) Membre n° 7 358 |
Oui, merci, mais je n'ai pas réussi... peux tu me dire comment faire?
-------------------- |
|
|
|
05-10-2005 - 11:36
Message
#4
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Hello.
Sur les cookies ? Mais si ils sont effacés par l'utilisateur, rien ne l'empèchera de voter de nouveau, non ? Pourquoi ne pas se baser sur le user ? -------------------- ![]() |
|
|
|
05-10-2005 - 11:46
Message
#5
|
|
|
Membre Groupe : Membres Messages : 101 Inscrit : 30-07-2005 Lieu : Hyeres, var (en France) Membre n° 7 358 |
Effectivement... je n'y avais pas pensé. On peux aussi esayer de l'empecher de voter une 2nd fois, grace a son I.P... Mais la, je ne sais toujours pas faire... Quelqu'un peux il m'aidé?
-------------------- |
|
|
|
05-10-2005 - 11:56
Message
#6
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Hello.
L'adresse IP, tu l'oublies car ce n'est pas un adresse fixe. (Renouvellement par déconnexion du modem ou par le FAI, donc nouvelle adresse IP. Et pour peu, tu empècherais le vote à des users qui n'ont jamais voté et qui ont récupérer l'adresse IP d'un autre user.). Hum, il faut que dans ta bdd, tu renseignes le user qui a voté. Après, il n'y a plus qu'à tester. Pour le code, je laisse la place à Weby car, pour ma part, zéro pointé. -------------------- ![]() |
|
|
|
05-10-2005 - 12:02
Message
#7
|
|
|
Membre Groupe : Membres Messages : 101 Inscrit : 30-07-2005 Lieu : Hyeres, var (en France) Membre n° 7 358 |
Ok, c'est vrai, que c'est la misere pour l'autre user, qui pourait la récupérée... Pour le code, on va esayer avec les cookies, meme si il suffit de les supprimer, je pense que c'est le moyen, le plus sympe, et celui qui prend le moins de temps, et en meme temps, il me faut pas un truc super expérimenté... Merci beaucoup quand meme!
Esque tu pourrait me faire un ptit code Weby? Sa serait supe sympa... a + les gens! kiss -------------------- |
|
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 07-09-2008 - 2:16 |