【问题标题】:"Hardcode" passed variables from JQuery/Javascript into a PHP file“硬编码”将变量从 JQuery/Javascript 传递到 PHP 文件中
【发布时间】:2013-06-07 18:31:53
【问题描述】:

我正在创建一个电子邮件报告系统来发送预定的电子邮件(每天、每周等),其中包含某些SQL 查询的结果。

我有一个HTMLJQuery 页面,generate.html,其中包含一个允许用户自定义报告的表单。该表单使用户能够更改要执行的SQL 查询的某些变量。

这些变量被传递到PHP 文件report.php,其中包含查询并处理通过电子邮件发送结果。


举例

用户在HTML 表单上输入电子邮件地址并提交。 report.php 通过$input_email = trim($_REQUEST['input_email']); 接收这个变量。

我的问题在于使用cron 按计划执行report.php 文件。我没有尝试过,但我很确定当cron 执行report.php 时,它会在PHP 文件中看到$input_email 并且不知道如何处理它。


我看到了两种解决方案

  1. cron 不只是执行report.php,而是在report.php 中添加查询字符串,所以它看起来像:report.php?input_email=user@email.com
  2. report.php 文件复制到一个新文件 hardcode.php 中,其中所有 $variables 都替换为其实际值,然后是 cron可以自己执行hardcode.php


我希望实施 second 解决方案,但不知道如何实施。我对 PHP 和 JQuery 比较陌生。任何帮助将不胜感激!谢谢。

【问题讨论】:

  • $argv[1] 是你的第一个命令行参数,所以如果你阻止 input_email 的分配,所以它类似于if(isset($argv[1])) $_REQUEST["input_email"] = $argv[1];,那么你可以通过php report.php user@email.com调用它
  • 这可能对您有所帮助Passing $_GET parameters to cron job 您可以在 cmd 行中传递变量以进行 cron 设置。
  • 好主意,我得试试看。您可以为同一个文件创建多个 cron 作业,每个作业使用不同的参数,对吗?

标签: php jquery variables parameter-passing hardcode


【解决方案1】:

为什么不

  1. 将发送到数据库中的所有值插入
  2. 检索新 email.php 文件中的所有值并运行循环发送所有报告?

这对我来说听起来像是一个解决方案,您可以 cron 电子邮件.php 文件

【讨论】:

  • 这也是一个好主意......虽然我想如果使用所有额外的数据库调用它会稍微贵一些。我必须考虑最好的解决方案。
猜你喜欢
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 2012-10-07
  • 1970-01-01
  • 2017-06-30
相关资源
最近更新 更多