Oui, un unique vote par adresse e-mail.
C'est quand même un peu lourd avec le mail (les gens ne prendront pas
nécessairement le temps).
J'ai écrit jadis un script qui comporte deux test : un test sur l'IP
(avec une table MySQL de logs) et un cookie. Voilà ce que ça donnait
(les variables et fonctions non définies sont, je crois,
compréhensibles) :
<?
# On déclare a priori la variable de contrôle de la validité du vote
$validite_vote = 1;
# On teste l'adresse IP (si l'option est activée)
if($sondages_bloquer_ip == 1)
{
$date = time();
# Nettoyage des logs
$r = requete_mysql("SELECT * FROM $sondages_table_ip");
while($objet = mysql_fetch_object($r))
{
if(($objet->date + $sondages_duree_blocage) < $date)
$q = requete_mysql("DELETE FROM
$sondages_table_ip WHERE date='$objet->date'");
}
# On vérifie si l'adresse IP est présente dans la table
$r = requete_mysql("SELECT * FROM $sondages_table_ip WHERE
(ip='$REMOTE_ADDR') AND (id_sondage='$numero')");
$objet = mysql_fetch_object($r);
if(!$objet)
{
# Si non, on ajoute l'adresse IP dans la table (avec la
date et l'id du sondage)
$q = requete_mysql("INSERT INTO $sondages_table_ip
(id_sondage, id_vote, ip, date) VALUES ($numero,'$REMOTE_ADDR',
$date)");
}
else
# Si l'adresse IP est déjà dans la table, on invalide le
vote
$validite_vote = 0;
}
# Vérification des cookies (si l'option cookie est activée)
if($sondages_cookie == 1)
{
# On vérifie l'existence de cookies
$r = requete_mysql("SELECT date FROM
$sondages_table_descriptions WHERE id='$numero'");
$objet = mysql_fetch_object($r);
$date = "$objet->date";
$nom_du_cookie = "$sondages_prefixe_cookie"."$date";
# On vérifie l'existence du cookie en particulier
if($nom_du_cookie == "1")
# Le cookie existe : on invalide le vote
$validite_vote = 0;
else
# Le cookie n'existe pas encore : on le crée
setCookie("$nom_du_cookie", "1");
}
if($validite_vote = 1)
{
# On passe aux tâches d'ajout
# [...]
?>
> Ne serait-il pas possible de l'"objectiver" [...]
C'était une possibilité en effet, mais j'ai préféré profiter
des articles.
> [...] pour l'utiliser, par exemple, en page d'accueil ou sur toutes
> les pages d'une même rubrique,... ? (mais aussi pouvoir
archiver les
> anciens sondages cloturés).
Le fait qu'ils soient liés à un article ne gêne pas du tout !
Ah, j'ai pas compris alors. Comment il faut faire ?
FS