Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 20h41   #1
Invité de passage
 
Homme Youyou
Administrateur de base de données
Inscription : avril 2011
Messages : 16
Détails du profil
Informations personnelles :
Nom : Homme Youyou
Âge : 20
Localisation : Maroc

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Boutique - Magasin

Informations forums :
Inscription : avril 2011
Messages : 16
Points : 1
Points : 1
Envoyer un message via MSN à Prototype
Par défaut Système de vote ( compte ) & IP ?

Bonjour,

Je suis dans une impasse, et je voudrais un peu de vos lumières pour mettre un script de vote par IP & compte aussi.
Actuellement le code que je fourni permet un vote chaque 2 heures par compte, ce que je souhaite c'est un vote par compte & IP.
Je m’explique, si un membre as plusieurs comptes, il peux voter avec tout ses comptes 1 fois toute les deux heures et reçoit des points. Cependant je souhaite que la page vérifie aussi si l'ip X ( d'un compte ) n'as pas déjà voter y a moins de 2 heures pour interdire le vote par plusieurs comptes sur la même IP.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
<?php
session_start();
   require_once('configuration/lesfigues.php');
   require_once('mod/mod_G.php');
   require_once('mod/function.php');
   require_once('mod/bbcode.php');
      require_once('include/doctype.php');
      echo '<body>';
      require_once('include/header.php');
      echo '<div id=bg>';
      require_once('include/menuLeft.php');
      require_once('include/menuRight.php');
      echo '<div id=Content>';
 
 
   define('SECU', true);
?>
 
<center><img src="<?php echo $ban_vote ; ?>"></center>
 
   <img style="background-color:#2f2f2f" src="style/img/topContent.png">
      <div id="bgContent">
         <div id="textContent">   
 
   <?php
if (empty($_SESSION['guid']))
            {
                   ?>
 
          <center><p class="red">- Vous n'êtes pas connecter, vous ne serrez pas créditer de vos PB <img class="devtoolIcon" src="style/img/devtool/money.png">.
- Utiliser le pannel de connexion en HAUT ou a DROITE.</p>
           <a target="blank" href="<?php echo $lien_rpg ;?>"><b><font color="red">~? Voter tout de même ?~</font></b></a><br/>
           <center><a href="<?php echo $lien_rpg ;?>"><img class="aImg" src="style/img/pb.png"></a></center>
           </center>
<?php
            }
            else
            {
           if (empty($_GET['action']))
               {
            $account = $_SESSION['login'];
               $result = mysql_query("SELECT * FROM accounts WHERE account = '$account'");
 
 
            $row = mysql_fetch_array($result) or die(mysql_error());
       ?>
       <center> Voter pour <b>FLAMICHE</b> a comme but de faire progresser le serveur et d'assurer sa continuité. Mais aussi vous gagnez <font color="red"><b><?php echo $nbr_vote ; ?> PB</font></b> par vote une fois toute les <font color="red"><b>2 heures</b></font>.</p>
 
 
 
            <a href="<?php echo $lien_votegagne ; ?>?action=vote"><b><font color="red">"</font> VOTEZ <font color="red">"</a></font> </b><br>          
            <center><a href="<?php echo $lien_votegagne ;?>?action=vote"><img class="aImg" src="style/img/pb.png"></a></center><br><br>
            <small>NOTE: Une fois sur la page RPG veuillez écrire les 3 chiffres & lettres demandé pour confirmer le VOTE et gagnez vos PB <img class="devtoolIcon" src="style/img/devtool/money.png">.</small><br>
         </center>
             <?php
            }
            else
            {
            $account = $_SESSION['login'];
             $db = mysql_connect( $db_IP, $db_USER, $db_PASS );
             mysql_select_db( $db_OTHER, $db_LOG );
                $result = mysql_query("SELECT * FROM accounts WHERE account = '$account'");
             $row = mysql_fetch_array($result) or die(mysql_error());
            $date = time();
$ecartminute = ($date - $row['heurevote'])/60;
 
if ($ecartminute > 120)
{
$vote = $row['vote'] + 1 ;
$point = $row['points'] +$nbr_vote ;
$req = "UPDATE accounts set heurevote = '$date', vote = $vote , points = $point  where account = '$account' ";
mysql_query($req);
echo '<meta http-equiv="refresh" target="blank" content="0; URL='.$lien_rpg.'">' ;
}
else
{
$restant = round(120 - $ecartminute, 0);
?>
<center><p>Vous devez attendre <font color="red"><b><?php echo $restant; ?></font> minutes</b> avant de pouvoir votez et gagner des PB !</p>
<br/>
</center>
<?php
}
 
      }
           }
 
           ?>
           </div>
      </div>
   <img style="background-color:#2f2f2f" src="style/img/bottomContent.png">
<?php
      echo '</div>';
      require_once('include/footer.php');
      echo '</div>';
      echo '</body>';
   echo '</html>';
?>
Prototype est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 09h04   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Ou est ton problème précisément ?

Pour ce qui est de l'algo, il te suffit de vérifier si l'IP votante à déjà voter il y à moins de 2 heures, si ce n'est pas le cas, tu enregistre le vote pour le compte sélectionné.

EDIT :
Code :
<?php echo $_SERVER["REMOTE_ADDR"]; ?>
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 14h46   #3
Invité de passage
 
Homme Youyou
Administrateur de base de données
Inscription : avril 2011
Messages : 16
Détails du profil
Informations personnelles :
Nom : Homme Youyou
Âge : 20
Localisation : Maroc

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Boutique - Magasin

Informations forums :
Inscription : avril 2011
Messages : 16
Points : 1
Points : 1
Envoyer un message via MSN à Prototype
Citation:
Envoyé par gwharl Voir le message
Ou est ton problème précisément ?

Pour ce qui est de l'algo, il te suffit de vérifier si l'IP votante à déjà voter il y à moins de 2 heures, si ce n'est pas le cas, tu enregistre le vote pour le compte sélectionné.
Merci pour ta réponse. En faite le problème est que je ne sais pas comment procéder pour enregistré l'ip du voteur aussi pour lui donner à elle aussi une condition de 2 heures avant de pouvoir re-voter.

Code :
<?php echo $_SERVER["REMOTE_ADDR"]; ?>
à quoi sert elle cette fonction et comment l'utiliser ? Merci d'avance
Prototype est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 15h21   #4
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 246
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 246
Points : 1 504
Points : 1 504
salut,
tu peux te creer une table qui contiendrait l'id du sondage et l'ip de l'utilisateur
pour tes verifications, un petit select ira vite.

Code php :
<?php echo $_SERVER["REMOTE_ADDR"]; ?>
te permets de recuperer l'ip de l'utilisateur.
des qu'il y a un vote, tu l'insert dans cette table et le tour est joue.
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 17h59   #5
Invité de passage
 
Homme Youyou
Administrateur de base de données
Inscription : avril 2011
Messages : 16
Détails du profil
Informations personnelles :
Nom : Homme Youyou
Âge : 20
Localisation : Maroc

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Boutique - Magasin

Informations forums :
Inscription : avril 2011
Messages : 16
Points : 1
Points : 1
Envoyer un message via MSN à Prototype
Pour être franc, je ne suis qu'un débutant encore.
Je voudrais faire en sorte que la page donne un message d'erreur "Vous avez déjà fait un vote via cette adresse IP" avec un ecarteminute de 120.
Si l'utilisateur as déjà voter grâce a son autre compte, il reçoit ce message; tout cela pour éviter le multi-vote par IP, sachant que je donne accès au vote une fois chaque 120 minute, donc je voudrais modifier le code pour faire en sorte qu'il récupéré aussi l'ip sur une table si elle as déjà voter y a moins de 120 minutes.
Prototype est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h22.


 
 
 
 
Partenaires

Hébergement Web