[AIDE]Timer dans du php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [AIDE]Timer dans du php

Re: [AIDE]Timer dans du php

par Elie » 01 juin 2014, 20:07

Tu n'expliques pas vraiment là ou tu rencontres un problème.

En gros, quand le mec vote, tu stockes l'heure du vote : time() dans la base de données.
Quand un mec revote, tu regardes si son iP existe déjà avec un vote antérieur a 2 heures.
      $2heures = 60*60*2;
      $deja_vote = mysql_query("SELECT * FROM $db_account.site_votes WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND `heure_du_vote` < ".time()-$2heures);
      $num_deja_vote= mysql_num_rows($deja_vote);
if($num_deja_vote > 0) {
 echo 'Il a déjà voté';
}
Après je ne suis pas fan de ton code et tu ne donnes pas les noms de tes champs de la table MySQL mais grossomodo la logique c'est ca.

[AIDE]Timer dans du php

par MedaKoke » 01 juin 2014, 13:39

Salut à tous, oui je suis nouveau et plutôt désespéré. Voilà je suis en train de faire mon site web, j'en suis au script de vote (c'est un script qui renvoie sur un site où on peut voter pour mon site en échange de points) cependant on peut voter que toutes les deux heures sur le site où le script renvoi. Le soucis c'est que je dois mettre un timer sur mon site pour qu'il puisse renvoyer le votant sur le site que toutes les deux heures. Cependant je n'y arrive pas, voici le code que j'ai ajouté :

Code : Tout sélectionner

<div class="entry-title"> <h2>Votez et gagnez des Points Votes !</h2> <span class="date">Votez !</span> </div> <div class="entry-con"> <?php $ip=$_SERVER['REMOTE_ADDR']; $ipbox=gethostbyaddr($ip); if(empty($_GET['vote']) || $_GET['vote']==0){ ?> <center> <table width="90%" border="0" cellpadding="0"> <tr> <td><p><b>Le fait de voter pour Elisium-MT2 nous permet d'augmenter la population du serveur tout en vous r&eacute;compensant et en vous encourageant &agrave le faire r&eacute;guli&egrave;rement!</b><br /><br /> <i>Comment recevoir les <font color="white">50</font> Votes</i><br /> C'est tr&egrave;s simple, connectez vous au site ensuite il suffit de cliquer sur les logo du "top-site" ci dessous, saisir un code de v&eacute;rification et le tour est jou&eacute; !</p> <p><center>Votez sur topmetin.com et root-top.com ensuite gagnez <font color="white">50</font> Votes Par vote ! <i>(Toutes les 2Heures)</i><br /><br /><br /> <a href="index.php?p=vote&vote=2"><img src="img/vote2.gif" alt="Votez Elisium-MT2 !" border="0" /></a><br /> <br /><br /> <a href="index.php?p=vote&vote=1"><img src="img/vote1.png" alt="Votez Elisium-MT2 !" /></a></center></p></td> </tr> </table></center> <br /><br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merci pour votre soutien!! Le staff Elisium-MT2.</i> <?php } elseif ($_GET['vote']==1){ $temps = time(); $temps2h = time() + (120 * 60); //mysql_select_db('$db_account'); if($_SESSION['id']!=''){ // LA PAGE START HERE $idcompte = $_SESSION['id']; //recups vars $vote1 = mysql_query("SELECT * FROM $db_account.site_votes WHERE id='$idcompte'"); $vote1a = mysql_fetch_array($vote1); $vote1b = mysql_num_rows($vote1); $vote1nb = mysql_fetch_assoc($vote1);//�a compte la valeur ? faut que jle note ... ^^ $voteallownom = $temps2h; $tempprochvotenom = $voteallownom + (120 * 60); $verif_double_compte = mysql_query('SELECT * nb FROM account.site_votes WHERE ipbox="'.$ipbox.'"'); //verif si le PC a deja vot� $verif_temps = mysql_query('SELECT * nb FROM account.site_votes WHERE temps_mt2_top="'.$temps.'"'); //$verif_double_compte_nb = mysql_num_rows($verif_double_compte);//si > 1 deja vot� rediriger $nbvote = $vote1nb['nbvote']; if($temps > $tempprochvotenom){ //Test si OK pour vote ! $nbvote++; mysql_query("UPDATE $db_account.account SET coins=coins+70 WHERE $db_account.account.id='$idcompte'");//Vote valid� on add les valeurs > : mysql_query("DELETE FROM $db_account.site_votes WHERE id =$idcompte"); mysql_query("INSERT INTO $db_account.site_votes VALUES ('$idcompte', '$temps', '$ipbox', '$nbvote')"); mysql_query("UPDATE $db_account.account SET vote=vote+1 WHERE $db_account.account.id='$idcompte'"); ?> <center>Vous allez &ecirc;tre redig&eacute vers le top-site, une fois le vote effectu&eacute, vos 70 Golds seront ajout&eacute;es!</center> <meta http-equiv="Refresh" content="2;URL=http://www.root-top.com/topsite/mt2top/in.php?ID=1415"> <?php } else{ ?> <center>Vous avez d&eacute;j&agrave vot&eacute;, vous devez voter toutes les deux heures </center> <meta http-equiv="Refresh" content="3;URL=index.php?p=vote"> <?php } } else{ ?> <center>Vous n'&ecirc;tes pas connect&eacute, votre compte ne peut &ecirc;tre cr&eacute;dit&eacute .</center> <meta http-equiv="Refresh" content="2;URL=http://www.root-top.com/topsite/mt2top/in.php?ID=1415"> <?php } } elseif ($_GET['vote']==2){ $temps = time(); $temps2h = time() + (90 * 60); //mysql_select_db('$db_account'); if($_SESSION['id']!=''){ // LA PAGE START HERE $idcompte = $_SESSION['id']; //recups vars $vote1 = mysql_query("SELECT * FROM $db_account.site_votes WHERE id='$idcompte'"); $vote1a = mysql_fetch_array($vote1); $vote1b = mysql_num_rows($vote1); $vote1nb = mysql_fetch_assoc($vote1);//�a compte la valeur ? faut que jle note ... ^^ $voteallownom = $temps2h; $tempprochvotenom = $voteallownom + (90 * 60); $verif_double_compte = mysql_query('SELECT * nb FROM account.site_votes_2 WHERE ipbox="'.$ipbox.'"'); //verif si le PC a deja vot� $verif_temps = mysql_query('SELECT * nb FROM account.site_votes WHERE temps_top_metin="'.$temps.'"'); //$verif_double_compte_nb = mysql_num_rows($verif_double_compte);//si > 1 deja vot� rediriger $nbvote = $vote1nb['nbvote']; if($temps2h > $tempprochvotenom){ //Test si OK pour vote ! $nbvote++; mysql_query("UPDATE $db_account.account SET cash=cash+50 WHERE $db_account.account.id='$idcompte'");//Vote valid� on add les valeurs > : mysql_query("DELETE FROM $db_account.site_votes WHERE id =$idcompte"); mysql_query("INSERT INTO $db_account.site_votes VALUES ('$idcompte', '$temps', '$ipbox', '$nbvote')"); mysql_query("UPDATE $db_account.account SET vote=vote+1 WHERE $db_account.account.id='$idcompte'"); ?> <center>Vous allez &ecirc;tre redig&eacute vers le top-site, une fois le vote effectu&eacute, vos 50 points seront ajout&eacute;s!<br /> </center> <meta http-equiv="Refresh" content="2;URL=http://www.topmetin.com/website/in/55"> <?php } else{ ?> <center>Vous avez d&eacute;j&agrave vot&eacute;, vous devez voter toutes les deux heures </center> <meta http-equiv="Refresh" content="3;URL=index.php?p=vote"> <?php } } else{ ?> <center>Vous n'&ecirc;tes pas connect&eacute, aucun point ne sera ajout&eacute;.</center> <meta http-equiv="Refresh" content="2;URL=http://www.topmetin.com/website/in/55"> <?php } } else{ ?> <center>Erreur, la page n'existe pas, retournez &agrave; la page des votes.</center> <meta http-equiv="Refresh" content="3;URL=index.php?p=vote"> <?php } ?> </div> <div class="entry-end"></div>
Je vous remercie d'avance si vous parvenez ne serais-ce qu'à m'aiguiller dans la bonne direction