Page 1 sur 1
Timer PHP permanent
Posté : 02 oct. 2007, 13:55
par Poinball
Bonjour !:)
Comme le titre l'indique , je voudrais pouvoir faire un Timer permanant sur mon site web. Je vais m'expliquer plus clairement !
Je voudrais qu'a chaque Heure , un timer rajoute +12 dans un des champs d'une de mes tables.
Même si l'utilisateur n'est pas sur le site , je veux que le +12 se fasse toute les heures !
ON mavais deja parler d'utiliser un shell pour faire se genre de timer , mais je ne m'y connais pas dutout en shell ni en timer php .. !
En esperant m'avoir exprimé clairement

Bonne journée !
Posté : 02 oct. 2007, 13:59
par fab
Il faut que tu utilises un crontab ou si tu n'as pas de serveur avec accès au terminal et à la crontab.
Sinon tu peux utiliser webcron.org
Posté : 02 oct. 2007, 14:11
par poinball
Daccord ! j'ai un server avec access a tout , mais je ne sais pas comment utiliser crontab

aurais-tu un example ou un site en référence qui pourrais mexpliquer comment que cela fonctionne ?
Posté : 02 oct. 2007, 14:30
par fab
Posté : 02 oct. 2007, 14:38
par zeus
Modération :
Merci de ne pas abuser des capitales dans ton titre.
C'est moins lisible et ça n'apporte rien de plus.
Posté : 02 oct. 2007, 15:01
par poinball
Daccord !! je te remerci beaucoup !
MAis le cron sinstall dans un shell ? et si c'est le cas.. comment je relie mon site web en php avec le code cron qui est sur mon shell ???

Posté : 02 oct. 2007, 15:16
par fab
le cront est déjà installer sur les serveurs unix, pour le relier tu lui fais executer un fichier php

au lieu que ça soit un fichier bash (.sh ) comme dans l'exemple de léa linux
Posté : 02 oct. 2007, 15:27
par jojolapine
Mais avant de batailler à te servir d'un cron (qui peut être fort utile

) il faudrait voir si ce que tu souhaites faire n'est pas possible sans cron...
Par exemple, tu rajoute un champ dans ta table, qui indique l'heure de la dernière mise à jour (entends par là le +12), lorsque tu te connectes, tu vérifies avant de te servir de tes données si la dernière mise à jour est plus vielle qu'une heure ou non, si ça n'est pas le cas, tu calcul suivant le nombre d'heure qui n'ont pas été mise à jour si tu fait +12, +24, +36 etc...
Je ne sais pas exactement à quoi sert ce champ si il est unique à un utilisateur, ou si c'est pour tout le site, mais un système similaire à celui que je viens de montrer peut-être étudié

Posté : 02 oct. 2007, 15:45
par Patriboom
La réponse de Jojolapine est fort pertinente et plus légère pour le serveur.
Aussi, n'oublie pas de tester ta page à fonctions Mysql avant de demander au robot de répéter les mêmes erreurs à chaque heure.
Posté : 02 oct. 2007, 17:37
par Poinball'
Daccord

mais éventuellement je préfere apprendre a gerer un Cron .. parceque je prévois un nombre important de visiteur et un nombre important de valeur qui vont utiliser cette méthode(une 10enne par user) ! Le Cron va etre est utiliser a chaque utilisateur du site. et aussi je vais faire en sorte que la valeur +12 puisse etre modifier , tout dépendant si lutilisateur Upgrade sa technologie de progression dans le jeux.
Alors .. le Cron serais mieu ?
Posté : 02 oct. 2007, 21:50
par Patriboom
Je reste d'avis qu'il serait mieux de limiter les fonctions CRON.
J'insiste là-dessus lorsque tu laisses entendre que les usagers pourraient faire en sorte qu'elles se multiplient.
Il te seras beaucoup plus facile de gérer une fonction vraiment puissante en PHP que de trier les bonnes et les mauvaises fonctions CRON créées par des usagers. Cela dit, n'oublie pas que certains usagers peuvent être malveillant et trouver le truc de détourner tes fonctions génératrices de CRON à leurs fins pornographiques ou publicitaires.
Posté : 03 oct. 2007, 13:16
par Poinball
Ummm Daccord , je vais tenter de le faire par systeme de récuperation du temps comme vous me dite , mais si par example mon utilisateur prend des soldats avec sa ressource qui fonctionne sur ce systeme alors la valeur va etre ( $valeur - 80 ) étant donné qu'un soldat vaut 80. Alors la formule pour multiplier le nombre dheure écouler avec le nombre de point que je veux qu'il donne(12pts) .. Sa ne marcherais plus !! parceque l'a , example pour 10heures on a 120pts et apres achat du soldat( 120 - 80 )!!se qui donnerais 40pts !!! alors lheure prochain je ne veux pas que ce sois 132pts en banque !! !!!! Ahh !! mais plutot 52 !!
c'est pour cela que je voulais que la valeur de ma ressource soit dans une BDD ... comme ça , c'est plus facile a modifier..
Comment faire pour reglé sa !

Posté : 03 oct. 2007, 19:21
par Patriboom
Pour régler ça, à mon avis, tu prends la fonction CRON qui exécute une script PHP qui gère la base de données. Tu tires le meilleurs des trois mondes.
Posté : 03 oct. 2007, 19:33
par Poinball
Merci Grandement !
