2009-05-27 5 views
2

Je veux une e-cartes ou quelque chose comme ça. L'utilisateur peut choisir les e-cartes, après avoir choisi, il doit entrer les quelques champs comme nom (vers et depuis), email (vers et à partir de), message et je veux laisser l'utilisateur choisir la date pour envoyer les e-cartes .Comment envoyer un jour spécifique en php?

Comment envoyer les cartes électroniques un jour donné? J'ai besoin d'écrire un script qui se déroule tous les jours? Comment faire ça? Désolé, je suis nouveau à PHP ... (mais pas débutant comme ne sait même pas comment exécuter la requête mysql, obtenir un message de l'url etc)

Répondre

9

Oui, vous avez besoin d'un script qui s'exécute tous les jours. (À l'exception de manoeuvres ridicules comme essayer de faire semblant en vérifiant les requêtes Web.) La façon habituelle de faire cela dans un contexte Unix s'appelle un cron job; Si votre fournisseur d'hébergement est basé sur Unix, vous devriez regarder dans ce qu'ils fournissent pour rendre les emplois cron disponibles pour vous. Sous Windows, il existe un service parallèle appelé Tâches planifiées.

+1

+1 pour couvrir 2 plates-formes – alex

0

Ceci est en quelque sorte complexe. Premièrement, cela dépend de votre système. Si c'est Linux/BSD/Unix/Solaris alors vous avez cet utilitaire pratique comme cron. Si vous utilisez Windows, vous avez Tâches planifiées. Exécutez votre script tous les jours (ou comme vous le souhaitez) et vérifiez quelles cartes vous devez envoyer aujourd'hui.

2

Ceci est pour * nix. Disons que vous avez un script php qui envoie un courrier électronique un jour spécifique mailer.php

<?php 
    //mailer.php 
    if (date("m/d/Y") == "06/02/2009") { 
     mail("[email protected]", "Subject", "Body"); 
    } 
?> 

Nous allons supposer que vous avez déjà démon Cron en cours d'exécution en arrière-plan.

Si vous avez un accès root à votre machine, la configuration d'un travail cron est simple comme l'édition d'un fichier.

ouvrir fichier/etc/crontab et ajoutez la tâche suivante:

1 14 * * * root php /path/to/your/scrip/mailer.php 

Cela signifie, comme une racine, le script mailer.php sera en cours d'exécution tous les jours à 14h01. Vous pouvez changer les nombres à tout ce que vous désirez.

2

Une question similaire a été EXAMINÉS ici resetting-a-mysql-field-value-without-user-execution

Je répéterai: Il existe des services Cron basés sur le Web aussi. Cela pourrait être utile si vous avez seulement un plan d'hébergement partagé et ne pouvez pas ajouter des tâches cron. Ils appellent une URL à un intervalle régulier que vous pouvez définir. Habituellement très bon marché. (Moins cher que la mise à niveau vers un serveur d'accès racine de toute façon.)

Juste Google pour rechercher web based cron

ciao! /0

Questions connexes