Top site, gerer les votes.

  • Auteur de la discussion Auteur de la discussion neuman
  • Date de début Date de début
Nouveau WRInaute
Bonjour, voila je me lance un peu dans le php, et pour commencer je me suis fait un petit top site.
J'ai donc pour le system de vote une table count_in, qui s'affiche et classe les sites sur l'index, et une page in.php, qui sert a voter (en donnant le lien a ceux qui s'inscrivent en mettant l'id de leurs site, ex: http://montopsite/in.php?id=1). J'ai donc pris pour exemple des script disponible sur le net, mais qui ne correspondaient pas a mes attente.
Ce que j'aimerais vraiment, c'est une page (in.php) qui dispose d'un bouton, et qui a une protection par ip/cookies/proxy/et dates (toutes les deux heures) de sorte a ce que si ces fonctions ne sont pas correct le vote soit refusé.
Pour l'instant j'ai ca:
<?PHP
$ref=htmlentities($_SERVER['HTTP_REFERER'], ENT_QUOTES);
($ref=="")?exit:true;

if(isset($_GET['id']) ){
include('includes/config.inc.php');

$id=htmlentities($_GET['id'], ENT_QUOTES);

$select = "select * from toptest where id='$id'";
$result = mysql_query($select) or die ('Erreur : '.mysql_error());
$row = mysql_fetch_array($result);

$ip=$row['ip'];
$date = date("Y-m-d");
$remoteip=htmlentities($_SERVER['REMOTE_ADDR'], ENT_QUOTES);
$testip=$remoteip.'_'.$date.'_'.$id;

if(eregi($testip,$ip)){ header("location: deja_vote.php"); exit(); }


$counter = $row["count_in"];

$ips=$ip.' ; '.$testip;
$counter++;

mysql_query("UPDATE toptest SET count_in='$counter', ip='$ips' WHERE id='$id'") ;;

header("location: index.php"); exit;
}
?>

Je n'ai pas lhabitude de demander de l'aide sans essayer de resoudre le problem moi meme, et c'est parce que j'entame mon troisieme jours de reflexion a ce sujet en essayant tout et n'importe quoi que je vous demande a present un soutien.

En vous souhaitant une agreable journée, cordialement[/quote]
 
WRInaute passionné
Tu donnes pas trop d'infos.

Si tu as l'heure du vote, un cookie de créer lors du vote et que tu stockes l'IP tes vérifs se feront facilement. (tu le fais pour l'IP déjà dans ton code, ou sembles-t-il tu concaténes IP, date et un id?)
 
WRInaute passionné
pkoi faire un select * ? autant prendre que l'ip nan...

et pour le counter tu peux directement ajouter 1 au counter dans ta requete update
 
Nouveau WRInaute
Désolé je crois ne pas vous avoir compris... tous les deux :?

J'aimerais simplement un script qui ajoute a mon count_in(id=site en question), +1 si l'ip, le cookie (en en ajoutant un), n'a pas déja voté il y a deux heures de cela. Et que le vote soit totalement refusé si le voteur passe par un proxy.

Et tout ca simplement pour eviter la triche, et permettre un vote toutes les deux heures
 
WRInaute impliqué
neuman a dit:
Désolé je crois ne pas vous avoir compris... tous les deux :?

J'aimerais simplement un script qui ajoute a mon count_in(id=site en question), +1 si l'ip, le cookie (en en ajoutant un), n'a pas déja voté il y a deux heures de cela. Et que le vote soit totalement refusé si le voteur passe par un proxy.

Et tout ca simplement pour eviter la triche, et permettre un vote toutes les deux heures

Bonjour,
Déjà il n'y a pas de critère en fonction de l'heure de votes dans tes requêtes SQL, ça risque d'être dur de savoir quel IP a voté il y a plus 2 de heures.

Bon courage
 
Nouveau WRInaute
Ca marche pourtant déja pour les jours, un seul vote peut etre effectué en 24 heures.

Oo, je vien de voir ton avatar, c'est le logo de root top! Il n'y a pas de meilleur top que ceux la tu dois donc avoir une solution toi....

En fait je me lance dans la creation d'un top qui a été fermé chez root top a cause de son "ilégalité" alors qu'avec l'avis d'un avocat légalité de ce top à été démontré.
 
WRInaute impliqué
neuman a dit:
Ca marche pourtant déja pour les jours, un seul vote peut etre effectué en 24 heures.

Oo, je vien de voir ton avatar, c'est le logo de root top! Il n'y a pas de meilleur top que ceux la tu dois donc avoir une solution toi....

En fait je me lance dans la creation d'un top qui a été fermé chez root top a cause de son "ilégalité" alors qu'avec l'avis d'un avocat légalité de ce top à été démontré.

D'après ton code, si tu ne couples pas l'IP avec un indice de temps (comme le timestamp UNIX temps exprimé en secondes), tu ne peux pas savoir quand est-ce une ip a voté.

Les tops qui ont été enlevés sont ceux qui présentaient des liens vers du contenu illicite.
 
Nouveau WRInaute
Et bien la légalité des liens vers lesquels il menait a été prouvé. Enfin c'est pas le problem... jvoulais de l'aide mais vous ne faites que m'embrouiller j'avou.
 
Discussions similaires
Haut