1

ユーザーが情報を保存できるが送信できないアプリケーションシステムがあります。締め切りまでにすべてを提出していない場合は、明らかに注意する必要があります。これを行う基本的な方法は、送信された場合、データベースのフィールドを 1 としてマークすることです。ただし、0 の場合は、電子メールを送信して思い出させたいと思います。

さらに複雑にするために、締め切りの 4 週間前から開始して、その週に 1 通のメール、締め切りの 3 週間前に 2 通のメール、というように、締め切りの 1 週間前に 4 通のメールを受け取ります。(明らかに 1 週​​間にわたって広がっています)。

私はまだ新しいので、週に1つだけではおそらく十分に複雑になると思います!

調査すると Cronjob が必要なように見えますが、これを回避する方法 (トリガー) があれば、そのほうがよいでしょう。

4

1 に答える 1

0

cron ジョブは最初は気が遠くなり、関連するプロセスは難しく見えるかもしれませんが、細かく分割することができます。また、スクリプトは、学習して含めるべきことを考えるにつれて成長します。データベースの構造がわからない場合は、概要から始めることができます。

スクリプトを実行する頻度を決定します (毎日、6 時間ごとなど)
。多くのホストは、管理に cPanel を使用しています。Cron ジョブを操作するためのアイコンがあり、簡単またはエキスパートのセットアップ モードを選択できます。設定例もあるかもしれません。日、月、年、時、分の数字を入力するか、すべての数字を含めるには * (アスタリスク) を入力します。
初心者にとって難しいもう 1 つの項目は、どのファイルをどのように処理するかをサーバーに伝えるために使用するコマンドです。たくさん読んで、試行錯誤しました。
例: php -q /home/your_account_name/public_html/admin/yourfile_cron.php (サーバーによって先頭が異なる場合があります)

スクリプト内:
(上記のように、/home. ..)

  1. いくつかの定数を設定します (デバッグ ファイル、データベース パスワード ファイルなど)。
    fopen と fwrite を使用して、画面に表示されないものを記録します。
  2. データベースへのクエリから始めて、送信するユーザーの名前と電子メールを見つけます
  3. 結果クエリとそのデータを処理する
  4. メールを作成する
  5. 電子メールを送信する
    サーバーに応じて、メール プログラムを選択します。一部では、mail() は localhost の外部に送信されません。(PHP Mailerはオプションです)
  6. ファイルの実行と送信の結果でデータベースを更新します

ブラウザでスクリプトにアクセスし、いくつかの「エコー」を含めることで、スクリプトをテスト用に実行できます。通常、cron ジョブには画面出力がありません (または必要ありません)。テスト中、私は自分の電子メールを静的な受信者として使用します。

これで始められることを願っています。これは大規模なタスクであり、実装には数日かかります。しかし、それが最終的にあなたが求めたものを実行したとき、あなたはそれがやりがいを感じるでしょう!!

于 2012-04-13T14:25:26.790 に答える