Comment utiliser la fonction $_SERVER['REMOTE_ADDR'] ?
7 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Comment utiliser la fonction $_SERVER['REMOTE_ADDR'] ?
Bonjour, à tous!
Je vien de créé un script qui permettra au visiteurs de donner une note (entre 1 et 20).
Ce dernier fonctionne parfaitement, mais je souhaiterais lui apporter une amélioration.
En fait j'aurais voulu que les visiteurs attendent (24h ou si possible une semaine voir plus) avant de pouvoir à nouveau voter. Car actuellement, ont peut voter autant de fois que l'ont veut.
PS: je pense que $_SERVER['REMOTE_ADDR'] est la fonction idéale pour cela, mais le problème c'est que je ne sais pas comment l'adapter a mon cas, car mon site contient des jeux flash, donc les visiteurs doivent quand même pouvoir voter pour les autres jeux.
Je vien de créé un script qui permettra au visiteurs de donner une note (entre 1 et 20).
Ce dernier fonctionne parfaitement, mais je souhaiterais lui apporter une amélioration.
En fait j'aurais voulu que les visiteurs attendent (24h ou si possible une semaine voir plus) avant de pouvoir à nouveau voter. Car actuellement, ont peut voter autant de fois que l'ont veut.
- Code: Tout sélectionner
<body>
<div align="center">
<?php
$id=$_GET['id'];
$valeur_vote=$_POST['note'];
//connexion a la bdd
mysql_connect("localhost", "root", "")or die(mysql_error());
mysql_select_db("test2")or die(mysql_error());
//comptage du vote
mysql_query("UPDATE infos SET nbr_vote = nbr_vote+ 1 WHERE id='$id'");
mysql_query("UPDATE infos SET total_vote = total_vote+ '$valeur_vote' WHERE id='$id'");
$total_vote_req=mysql_query("SELECT total_vote FROM infos WHERE id='$id'");
while ($total_vote_donnees = mysql_fetch_array($total_vote_req) )
{
?>
<?php $total_vote= $total_vote_donnees['total_vote'];
}
?>
<?php
$nbr_vote_req=mysql_query("SELECT nbr_vote FROM infos WHERE id='$id'");
while ($nbr_vote_donnees = mysql_fetch_array($nbr_vote_req) )
{
$nbr_vote= $nbr_vote_donnees['nbr_vote'];
}
$note_final= $total_vote / $nbr_vote;
mysql_query("UPDATE infos SET note = $note_final WHERE id='$id'");
mysql_close();
?>
<p>
<p>
<p>
<p>
Votre vote a bien été enregistrer, Merci! <p> <A HREF="javascript:window.close()">Fermer la fenetre</A>
</div>
</body>
PS: je pense que $_SERVER['REMOTE_ADDR'] est la fonction idéale pour cela, mais le problème c'est que je ne sais pas comment l'adapter a mon cas, car mon site contient des jeux flash, donc les visiteurs doivent quand même pouvoir voter pour les autres jeux.
salut, y a beaucoups de requetes dans ton code, normalement on essaye dans faire le moins possible, pour optimiser les performances, normalement tu peux t'en sortir avec un seul update :
"UPDATE infos SET note = (total_vote+ ".$valeur_vote." / (nbr_vote+1), nbr_vote = nbr_vote+ 1, total_vote = total_vote+ ".$valeur_vote." WHERE id=".$id
"UPDATE infos SET note = (total_vote+ ".$valeur_vote." / (nbr_vote+1), nbr_vote = nbr_vote+ 1, total_vote = total_vote+ ".$valeur_vote." WHERE id=".$id
Je ne suis pas sur que tu puisse utiliser $_SERVER[REMOTE_ADDR]dans ton cas.
Ta table ne mémorise que le nombre total de vote et la valeur cumulée des notes.
Si tu voulais filtrer pas REMOTE_ADDR, il te faudrait tracer tous les votes 1 par 1.
Tu ferais mieux de bloquer le votant avec un cookie, ce qui ne changera pas toute la structure de ta base...
Ta table ne mémorise que le nombre total de vote et la valeur cumulée des notes.
Si tu voulais filtrer pas REMOTE_ADDR, il te faudrait tracer tous les votes 1 par 1.
Tu ferais mieux de bloquer le votant avec un cookie, ce qui ne changera pas toute la structure de ta base...
Tout à fait, et le cookie te permettrait d'éviter de bloquer inutilement les votes des utilisateurs partageant la même IP (connexions publiques, connexions avec un proxy...).
En contre partie, le cookie présente certains inconvénients : quelques internautes bloquent les cookies, d'autres les effacent régulièrement etc... La limitation des votes par utilisateur ne fonctionera pas toujours donc...
En contre partie, le cookie présente certains inconvénients : quelques internautes bloquent les cookies, d'autres les effacent régulièrement etc... La limitation des votes par utilisateur ne fonctionera pas toujours donc...
Merci beaucoup pour vos réponses, j'ai choisi la méthode utilisant les cookies.
En faite je procède comme cela:
1- je vérifie si le cookie ayant comme nom l'id du jeu existe
2-si il existe pas je comtabilise le vote
3-je cree je cookie ayant comme nom l'id du jeu, comme ça le visiteur ne poura pas revoter.
Mais j'ai un problème pour nommer de cette façon le cookie, je met le code suivant $_GET['id'] pour le nommer, mais au lieu de le nommer par l'id du jeu, je tombe sur une parese error
Ce qui donne:
Malheuresement cette méthode ne passe pas non plus
arse error: parse error, unexpected T_STRING, expecting ']' sur cette ligne: if (isset($_cookie['$_GET['id']']))
Aidez moi svp

En faite je procède comme cela:
1- je vérifie si le cookie ayant comme nom l'id du jeu existe
2-si il existe pas je comtabilise le vote
3-je cree je cookie ayant comme nom l'id du jeu, comme ça le visiteur ne poura pas revoter.
Mais j'ai un problème pour nommer de cette façon le cookie, je met le code suivant $_GET['id'] pour le nommer, mais au lieu de le nommer par l'id du jeu, je tombe sur une parese error
Ce qui donne:
- Code: Tout sélectionner
<?php
$id=$_GET['id'];
$valeur_vote=$_POST['note'];
if (isset($_cookie['$_GET['id']']))
{
echo 'Vous avez déja votez pour ce jeu';
}
else
{
...
code source qui valide et enregistre le vote
...
}
?>
// on cree le cookie et on le nomme par l'id du jeu, comme ca au prochain afichage de cette page (si il ressai de voter) il obtient le message suivant: Vous avez déja votez pour ce jeu.
<?php setcookie($_GET['id'],$_GET['id'],time()+3600*24*31)or die(mysql_error());?>
Malheuresement cette méthode ne passe pas non plus
Aidez moi svp
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Utiliser la fonction mail() avec xampp
- [URL Rewriting] utiliser une fonction PHP...mais où ?
- 2 URL pour un server.... comment trier?
- Comment gère-t-on des Tera-octets de fichiers sur un server?
- Comment utiliser onMouse...?
- Comment utiliser Cache_Lite??
- comment utiliser les sitelink
- comment utiliser proprement MyWri ?
- Wordpress: Comment utiliser xmlrpc.php ??
- comment utiliser le flux XML d'amazon
- Comment utiliser le sitemap generator de google ?
- Comment utiliser le whois avec une IP?
- GMAILFS, ou comment utiliser vos 1Go !
- Comment utiliser adsense pour mes flux feedburner
- Comment utiliser plusieurs fois un contenu sans duplicate ?
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
- Suggestions de mots-clés
Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités







le forum