[php] un seul vote par personne

Ne0 Messages postés 52 Statut Membre -  
dugenou Messages postés 6262 Statut Contributeur -
Bonjour a tous,
Je bloque sur un probleme depuis plusieurs heures... pouveze vous m'aider ?
J'ai creer un vote sur mon site et jaimerais que les personnes ne puissent voter qu'une seule fois par vote. (il y a plusieurs votes sur la page). J'ai essayer de creer une varable $_SESSION[$id], avec $id etanbt l'id du vote. Mais cela ne marche pas, la variable est bien crée mais effacer au rechargement...
POURQUOI ?
aidez moi svppp...snif

4 réponses

dugenou Messages postés 6262 Statut Contributeur 1 452
 
J'ai fait une erreur de copier/coller :

if (isset($sondage_cookie) && $sondage_cookie =="VOTE"){
header("location:resultats.php");
}


else {// cookie absent (premiere vote, ou bien cookie expiré
setcookie("sondage_cookie","VOTE",time()+24*3600,"/");
{

suivi du script du sondage.

]
2
car0 Messages postés 14 Statut Membre
 
Bonjour NeO,

Qu'entends-tu par "rechargement"? Si c'est un simple reload de la page, je ne vois pas la raison immédiatement. Par contre, si par "rechargement", tu penses au moment où l'usager revient sur ton site, c'est normal. Une variable de session est valide jusqu'au moment où l'usager quitte ton site web et/ou ferme ton navigateur. Pour pouvoir te souvenir que telle personne à voter, il te faut garder l'information sur le serveur et pouvoir lier un visiteur aux données que tu as. Deux méthodes : mettre en place un système de login (un visiteur ne peut voter que s'il se log) ou alors, tu peux aussi récupérer l'IP de la personne qui a voté (dans les variables server HTTP).

J'espère que ça t'a donner quelques indices même si ma réponse est plutôt générale...

Caro
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Ca n'a rien à voir avec l'erreur mais:

Empêcher de revoter en se fondant sur l'ip de celui qui vote ce sera peut être plus efficace....
0
dugenou Messages postés 6262 Statut Contributeur 1 452
 
Bonsoir,

Tu peux aussi utiliser un cookie pour identifier le votant.

C'est contournable par le votant, s'il refuse les cookies ou s'il efface le cookie, mais c'est une autre voie à explorer.

Sur mon site je l'utilise de cette manière, en autosisant un vote par 24 heures :

if (isset($sondage_cookie) && $sondage_cookie =="VOTE"){
header("location:resultats.php");

else {// cookie absent (premiere vote, ou bien cookie expiré
setcookie("sondage_cookie","VOTE",time()+24*3600,"/");
{

suivi du script du sondage.

Bon courage.
0