Vérification données dans le futur avec Timestamp

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 : Vérification données dans le futur avec Timestamp

Re: Vérification données dans le futur avec Timestamp

par ghost5922 » 28 mai 2013, 14:07

j'ai oublie dans le temps du membre faut virer le temps de maintenant

$expirevip=455048554-time();

Re: Vérification données dans le futur avec Timestamp

par ghost5922 » 28 mai 2013, 12:16

Ok je pense avoir compris

donc le plus simple je pense tu fais une requête pour récupérer le temps du membre puis tu fais une boucle de 30 jours
$expirevip=455048554;
for ($i = 1; $i <= 30; $i++) {
    if($expirevip>0){
        echo'VIP 1';
	}
	else{
		echo'VIP 0';
	}
	$expirevip-86400;
}
on boucle sur 30 jours a chaque jour on retire 24h si le temps vip et toujours supérieur a 0 on fait un echo 1 sinon 0

Re: Vérification données dans le futur avec Timestamp

par Brice83 » 28 mai 2013, 12:05

non, pas vraiment, car les niveaux ne sont pas cumulable et dépendent de la date de validation des codes.

Je cherche à afficher comme dit plus haut un tableau de ce type :
28/05/2013 : 1 code : Vip 1
29/05/2013 : 1 code : Vip 1
30/05/2013 : 0 code : Vip 0
31/05/2013 : 0 code : Vip 0
01/06/2013 : 0 code : Vip 0

et ainsi de suite pendant 30 jours
En clair, la requete dois incrémenter 24 heures à chaque fois à compter de la date du jour pour les 30 prochains jours et afficher le tout dans le tableau. J'ai déja vue des sites qui font cela.

C'est vrai que ma demande est assez délicate :oops:

Re: Vérification données dans le futur avec Timestamp

par ghost5922 » 28 mai 2013, 11:48

Re,

ok tu veux pouvoir affiche il vous reste X jours avant expiration ?

Re: Vérification données dans le futur avec Timestamp

par Brice83 » 28 mai 2013, 11:45

Bonjour,

merci pour ta réponse mais pour le changement de statut, j'ai déja une cron qui passe tout les jours à 23h59 pour la vérification du nombre de code validé dans les 30 derniers jours et fait le changement de niveau si nécéssaire.

Moi, je cherche surtout le moyen d'afficher un tableau qui indique le(s) statuts du membre pour les 30 jours à venir afin qu'il sache quand son statut se rétrogade si il ne remet pas de code.

La par exemple, j'ai réussi à faire ceci pour qu'il sache d'avance son statut de demain :
$test = time()-2592000+86400;

$req = mysql_query("SELECT * FROM codes WHERE pseudo='$pseudo' AND time>'$test' ");
$req1= mysql_numrows($req);
Et en réponse, j'ai bien le niveau vip, du moins le nombre de codes validé, que le membre aura demain (29 mai) !

Sinon, je peux faire autant de requete que de jours nécéssaire, mais cela représentera 30 requetes juste pour afficher les 30 prochains jours, et question optimisation, c'est pas le top :(

En clair, la meme requete mais pour les 30 prochains jours ainsi que l'affichage dans un tableau de la date.

Re: Vérification données dans le futur avec Timestamp

par ghost5922 » 28 mai 2013, 11:29

Bonjour,

je pense que tu as plusieurs rang entre membre inactive membre active membre vip etc

donc je pense que tu peu mettre un expire

Validation code allopass
//$expirevip vaut l'expire actuelle du membre - maintenant
$expire = $expirevip-time();

if($expire>0){// si le membre a encore du forfait on le garde sont temps
  $expire=$expire;
}
else{// si le temps et inférieur on mets 0
   $expire=0;
}
//on calcule le nouveau expire maintenant + 60sec * 60 minutes *24 heure * 30 jours + le temps qui reste
$expire2=time()+60*60*24*30+$expire;
Cron
//on mets tous les comptes a jours chaque heure
update expire='$expire2' and rang='0' where expire<NOW()
puis un crons tous les heures pour changer le statut si le expire et dépasser

voila les grand lignes ^^

Vérification données dans le futur avec Timestamp

par Brice83 » 28 mai 2013, 11:13

Bonjour,

sur mon site, un membre peux devenir vip (c'est à dire qu'il obtient des avantages par rapport aux membres normaux) !

Pour devenir Vip, il valide donc un code allopass et je donne le statut vip pendant 30 jours exactement (insertion timestamp).

Ce que je tente de faire est de vérifier et d'afficher l'évolution de son statut pour les 30 prochains jours par rapport aux nombres de codes valider car le statut Vip est évolutif.

Mais je ne sais pas comment écrire le code qui fera cela pour l'affichage.

Un exemple :
28/05/2013 : 1 code : Vip 1
29/05/2013 : 1 code : Vip 1
30/05/2013 : 0 code : Vip 0
31/05/2013 : 0 code : Vip 0
01/06/2013 : 0 code : Vip 0

et ainsi de suite pendant 30 jours
En gros, la requete devrais afficher tout ce qui se passe pour les 30 prochains jours en indiquant les dates.

Une petite aide ? merci.