2017-03-28 3 views
-2

私はアドバイスが必要です、基本的に私は多段階のウィザードフォームがあり、このウィザードでは、マーケティングの目的のために、データベースへの最初のステップ(名前、電子メール、アドレス)を保存する必要がありますユーザーはすべてのウィザードの手順を完了しません。 しかし、私はユーザーがフォームを終了しない管理者の場合に電子メール通知を作成する必要があります。だから私は、cpanelのcronjobを作成して、データベース内でマルチステップを完了していないレコードを確認し、そこに電子メールを送信して管理者に送信するというcronjobを作成したと思います。方法Cronjobでポスト

しかし、問題があります。自分のレコードの列を更新する必要があります。私の場合、「検証済み」というブール値の列と、メールが送信されたときにtrueに設定されているため、常に電子メールを管理者に送信します。

しかし、それはcronjobがGetメソッドをサポートしているように見えますが、誰かがアドバイスをしていますか?

+0

メールを送信した後に更新クエリを使用してフラグを更新する – JYoThI

答えて

1

リクエストメソッド(Get、Post、Put、Deleteなど)は、CRONジョブではなくHTTP固有のものです。

しかし、それはそのcronジョブのように見えるだけでこれが間違っている方法

を取得サポートしています。 Cronジョブは、指定された時間間隔で特定のファイルを呼び出すことです。あなたがここでそれを読むことができます:あなたのケースではCron Jobs

を、あなたは次のことを行う必要があります。フォームが部分的に完了したとき、あなたは データベース内のデータを保存している

  • 。したがって、データベースに2列の使用を保存することができます.1は になります。フォームを完了していないユーザーを確認し、2番目にメールがある場合は をチェックします。
  • と仮定2列は(メール は、さらにフォローアップのために送られているかどうかを確認するため)is_incomplete( がフォームを完了していないユーザーをチェックする)とis_followup_email_sentです。

  • CRONファイルパスでは、 が必要になるまで、GETパラメータを指定する必要はありません。あなただけの、このリストに電子メールを送信するために別の 機能を作り、あなたが がis_incomplete = 1(フォームが完了していない)ユーザーを取得するためにデータベースに接続する必要があり、サーバー上でそのファイル に置かれたファイルを呼び出す必要がありますし、ユーザーと is_followup_email_sent = 1を設定する(つまり、電子メールがすでに送信された意味)

  • あなたのCRONファイルが呼び出されるたび、あなたはちょうどあなたがis_incomplete = 1、すべてのそれらのユーザーを取得すること 上部にチェックをする必要があると is_followup_email_sent = 0つまり、 フォームと管理者のメールをまだ送信していないユーザーはまだ送信されていません。私は、これはあなたを助けることを願っています

!乾杯。

1

リクエストメソッド(Get、post、put、...)はHTTP固有です。ターミナルでコードを実行すると(cronジョブ)、リクエストメソッドはありません。

あなたはすべてをチェックして、データベース内の値を変更するスクリプト(またはコマンドあなたはフレームワークを使用している場合によっては)を作成する必要があります。