Exécuter une page automatiquement

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 : Exécuter une page automatiquement

Re: Exécuter une page automatiquement

par SinBert » 14 nov. 2009, 18:27

Je vous remercie pour ces solutions (surtout celle avec le timestamp ^^) =) =D>
Elles m'ont effectivement débloqué.

Ce sujet est résolu :D

Re: Exécuter une page automatiquement

par stopher » 11 nov. 2009, 21:59

Pourquoi n'utilises tu pas une sorte de curseur ,

en gros , lorsque tu fais la maj , tu enregistres dans un endroit ( fichier , base .. ou tu veux en fait ) le timestamp de la maj.

Lorsque tu retournes sur ton site , tu vérifies si le timestamp actuel moins timestamp de la dernière maj ne dépasse pas l'intervalle minimum que tu as défini .

Si c'est le cas , tu fais une nouvelle maj , et tu mets à jour ton curseur qui permet de savoir ou tu en es .

Ch.

Re: Exécuter une page automatiquement

par christele » 11 nov. 2009, 21:02

le souci, c'est que une fois l'heure souhaitée passée, il va updater la base à chaque visite pendant des heures !
N'y a-t-il pas moyen de faire autrement?
Oui ! il te suffit dés que le premier lance l'update de mettre dans le fichier un flag "update OK date heure"

Re: Exécuter une page automatiquement

par SinBert » 11 nov. 2009, 20:14

Merci de ta réponse ! :)

Je n'ai effectivement pas de serveur dédié. Donc j'ai essayé l'autre méthode qui était de faire ceci :
if($heure_souhaitee >> $heure_actuelle)
{
        *UPDATE*
}
le souci, c'est que une fois l'heure souhaitée passée, il va updater la base à chaque visite pendant des heures !

N'y a-t-il pas moyen de faire autrement?

Merci encore ! :D

Re: Exécuter une page automatiquement

par fab » 11 nov. 2009, 02:24

Il te faut utiliser les crontab poru ça , mais dans ce il faut que tu disposes d'un accès chez ton hébergeur si tu es sur un mutualisé c'est rarement le cas, si tu as un dédié sous linux tu l'as :)

Sinon tu as un service ( certes payant mais ultra abordable ) qui te permet de le faire via le web c'est http://www.webcron.org

Après tu peux utiliser des solutions détourner en PHP mais ça oblige quelqu'un à visiter la page pour mettre à jour la base de donnée, par exemple pour tu pourrais vérifier si la date actuelle est supérieure à la date voulue pour l'UPDATE dans ce cas tu l'effectues et tu programmes une nouvelle date d'update

Exécuter une page automatiquement

par SinBert » 11 nov. 2009, 01:36

Bonjour à tous !

Mon problème est assez spécial. En effet, je voudrais exécuter une page PHP à une heure précise même si personne ne la visite.

Un peu plus de concret :
J'ai un classement de personnage pour un jeu. Les niveaux de ses personnages sont d'abord pris du classement officiel du jeu et ensuite enregistrer dans ma BDD.
seulement voila, les joueurs modifient leur niveau de jour en jour. Si je ne fait rien mon classement sera vite erronée.
Donc il faut utiliser UPDATE. (là dessus il n'y a aucun problème).
Seul souci, c'est que pour utiliser UPDATE, il faut exécuter la page. (certain vont me dire "Prend directement le lvl du site officiel et affiche le sans passez par ta BDD !", mais je ne veux pas faire ça, et j'ai mes raisons. Donc s'il vous plait, conserver ce système, je vous en serait reconnaissant).

Bon, vu que je ne veux pas update à chaque exécution de la page, je le fait avec date()
EXEMPLE :
if($date_souhaitee_pour_update == date("d/m/Y"))
{
             *UPDATE*
}
Mais maintenant, imaginons que personne ne visite la page à l'heure / date fixe que j'aurais marquée, la base ne se met pas à jour.
Donc voila, est il possible de faire autrement pour UPDATE ma base?

Merci d'avance, et je reconnait que mon sujet n'est pas des plus clair et je m'en excuse d'avance! ;)