2009-08-12 4 views
0

Je veux poster automatiquement après 6 heures automatiquement à mon utilisateur qui n'a pas complètement rempli le formulaire sur mon site Web.Comment puis-je configurer un travail cron sur mon site en utilisant PHP?

Aidez-moi

+3

Les deux choses ne sont pas liées, donc votre solution aurait deux parties. D'abord, le php devrait enregistrer la progression du formulaire sur le serveur quelque part. Ensuite, cron s'éteindrait régulièrement, vérifiez l'heure actuelle par rapport aux heures enregistrées dans la première étape, et si 6 heures se sont écoulées, envoyez l'e-mail. – NWCoder

+0

Utilisez-vous cpanel? Je sais comment configurer les crons dans ce :) – pjanaway

Répondre

2

Vous devez créer le script php qui fait la vérification et l'envoi, puis définissez la tâche cron comme le

/path/to/php -q /home/username/public_html/mycheckingscript.php 

suivante Évidemment, vous devrez ajuster le premier chemin pour pointer vers votre binaire php, et le deuxième chemin pour pointer vers l'emplacement complet de votre script de mailing & de vérification.

1

Je ne pense pas que vous voulez définir le cron en utilisant php. Au lieu de cela, écrivez un script PHP et ensuite cron exécuter ce script toutes les heures. Ce serait quelque chose qui dépendra de votre système d'exploitation.

Pour linux, voici le manpage pour l'utilisation de crontab.

8

Utilisez crontab -e pour modifier la table cron pour votre compte.

Dans le crontab, mettez une entrée quelque chose comme ...

0,10,20,30,40,50 * * * * /usr/bin/wget -O - -q http://path.to/cron.handler.php 

ou l'équivalent

*/10 * * * * /usr/bin/wget -O - -q http://path.to/cron.handler.php 

... qui va exécuter le fichier php gestionnaire cron toutes les 10 minutes en utilisant wget (il existe également d'autres options, et vous devrez peut-être modifier la commande de manière appropriée). (Remarque: vous ne voulez pas l'exécuter toutes les 6 heures, car si quelqu'un remplissait le formulaire juste après l'exécution, il ne se serait pas écoulé 6 heures depuis qu'il l'a rempli la prochaine fois, donc Ensuite, dans votre fichier PHP, trouvez les utilisateurs qui (a) N'ont pas rempli le formulaire depuis au moins 6 heures et (b) ne l'ont pas été. envoyé par courriel Envoyez-leur un e-mail et indiquez-leur qu'ils ont été envoyés par e-mail.

+0

Ack - commentaire parser question: '*/10 * * * *' format pourrait valoir une mention. – gnarf

+0

Oui, je vais ajouter une mention. – Amber

0

Il est impossible de modifier/ajouter un planning sur le travail cron à la volée. selon mon expérience. parce que jusqu'à présent je n'ai pas trouvé ..

+0

Pourquoi pas? Avec exec vous avez toutes les posibilies. Vous pouvez execuer le fichier cron ou changer tout ce dont vous avez besoin. – Stony

Questions connexes