Ajouter un module de memorisation d'ip ou cookie

Résolu
overbrave Messages postés 118 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 15 janvier 2007 - 14 janv. 2006 à 15:27
cs_Arnauti Messages postés 392 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 26 septembre 2009 - 14 janv. 2006 à 16:02
Bonjour a tous,
Je n'ai pas l'habitude de faire ça, mais j'en aurais plutot besoin voici un code au quel je voudrais bien ajouter un module de saisie d'ip ou de cookie pour que le vote ne soit ajoutable qu'une fois.
Merci a tous

4 réponses

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
14 janv. 2006 à 15:50
Bonjour,

<?php au lieu de <?

Tout tableau de type array commance a 0
$reponse[1] = 'Bien';
$reponse[2] = 'Moyen';
$reponse[3] = 'Mauvais';
devient:
$reponse[0] = 'Bien';
$reponse[1] = 'Moyen';
$reponse[2] = 'Mauvais';
ou meme $reponse[] = ...

Pour $choix, il suffit de le placer juste apres les $reponses => $choix = count($reponse);

Tu ne verifit pas si les fichiers ont bien été ouvert sans erreur, ce qui peux etre tres tres genant pour le reste.

Juste apres if (isset($_GET['vote'])) , quelque chose comme:
if (isset($_COOKIE['deja'])) { exit('deja voter!'); }

Tu devrais verifier la valeur de $vote, => if (ctype_digit($vote) AND $vote >= 0 AND $vote <= $choix) { // OK

Des que la personne a voter, ont lui incruste un cookie:
setcookie('deja', 'oui', time()+3600); /* expire dans une heure */
comme dit sur la page de nexen.net

et comme dit:
Les cookies doivent passer avant tout autre en-tête (c'est une restriction des cookies, pas de PHP). Cela vous impose d'appeler cette fonction avant toute balise <html> ou <head> . Si quelque chose a été envoyé avant l'appel à cette fonction, setcookie échouera et retournera FALSE . Si setcookie réussi, elle retournera TRUE . Cela n'indique pas si le client accepte ou pas le cookie.

Donc tu peux aussi verifier si le cookie a bien été envoyer.

Pour l'ip faudrais utiliser un second fichier et que tu mettent les ip au fur et a mesure:
$IP\n
Et que tu lise le fichier ligne/ligne pour verifier qu'il n'est pas deja present.

http://www.nexen.net/docs/php/annotee/function.setcookie.php
3
cs_Arnauti Messages postés 392 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 26 septembre 2009
14 janv. 2006 à 15:56
Bonjour, je ne pense pas que l'utilisation de l'ip est une bonne idée car si tu veux que l'on ne puisse pas revoter avec 10 jours par exemple, l'ip a le temps de changer ^^.
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 janv. 2006 à 15:58
Salut,

à mon avis le plus efficace :

- inscription (donc pseudo unique)
- cookie
- ip
- session

combine les quatre, après je pense pas qu'il y ait d'autres possibilités (y'a bien l'host mais bon ça risque de limiter...)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_Arnauti Messages postés 392 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 26 septembre 2009
14 janv. 2006 à 16:02
Oui, c'est sur avec tout ca ...
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
0
Rejoignez-nous