Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过表单设置脚本的开始日期和结束日期,以便用户进行更改?_Php_Javascript_Cron - Fatal编程技术网

Php 如何通过表单设置脚本的开始日期和结束日期,以便用户进行更改?

Php 如何通过表单设置脚本的开始日期和结束日期,以便用户进行更改?,php,javascript,cron,Php,Javascript,Cron,我正在构建一个表单,用户必须选择一个时间间隔,从一天到一天、一个月到一个月、一年到一年,甚至是一年中一个月的某一天到另一个时间日期……我会使用JS日历,但我不确定我将如何检查该特定日期是否已经到达 假设用户选择开始日期和结束日期,用户进行一次特定更改,这些更改适用于用户选择的时间间隔,因此一旦达到结束日期,更改将不再适用,脚本将重置为其默认值 这些更改可以应用于程序、程序中的代码等。但基本上,程序允许从用户在表单上选择的时间间隔进行这些更改,但一旦达到日期,所有内容都将重置为默认值 我最初的想法

我正在构建一个表单,用户必须选择一个时间间隔,从一天到一天、一个月到一个月、一年到一年,甚至是一年中一个月的某一天到另一个时间日期……我会使用JS日历,但我不确定我将如何检查该特定日期是否已经到达

假设用户选择开始日期和结束日期,用户进行一次特定更改,这些更改适用于用户选择的时间间隔,因此一旦达到结束日期,更改将不再适用,脚本将重置为其默认值

这些更改可以应用于程序、程序中的代码等。但基本上,程序允许从用户在表单上选择的时间间隔进行这些更改,但一旦达到日期,所有内容都将重置为默认值

我最初的想法是使用PHP的date('W')函数从用户那里获取开始和结束时间并存储它,然后让我的脚本每天查找日期,看看结束日期是否已经到达。然后我的另一个想法是使用JS的日历弹出窗口来获取开始和结束日期,并让某种脚本每天查找日期,看看截止日期是否已经到了……但所有这些都不是非常可靠的方式或方法,所以这里可能有人对此有更多的经验……Cron工作我不是很有经验,但我不是那么有经验确定我将如何在表单后端使用php或js为此设置cron作业。

如果您正在使用,则数据选择器控件有一个maxDate选项,如下所示:

通过日期对象或当前日期格式的字符串设置可选择的最大日期,或从今天开始的天数(例如+7)或一串值和周期(“y”表示年,“m”表示月,“w”表示周,“d”表示天,例如+1m+1w”),或空值表示无限制。 代码示例

使用指定的maxDate选项初始化日期选择器

$( ".selector" ).datepicker({ maxDate: '+1m +1w' });
在init之后获取或设置maxDate选项

//getter
var maxDate = $( ".selector" ).datepicker( "option", "maxDate" );
//setter
$( ".selector" ).datepicker( "option", "maxDate", '+1m +1w' );

因为日期是以今天为基础的,所以您可以确保它不会超过今天。如果您需要更多的验证,那么也可以在服务器端使用PHP

我建议您使用数据库来存储修改后的代码/日期范围。您不需要担心cron作业——只需在脚本的开头放一点代码,以检查每次运行脚本时应该使用哪个版本

SELECT * FROM scripts WHERE user_id = .... 
AND start_date < NOW() AND end_date > NOW()
从脚本中选择*user_id=。。。。
开始日期NOW()

检查数据库中的当前更改;如果存在,请加载修改后的脚本,而不是正常的脚本。

您在谈论什么样的更改?webhost中始终有两个脚本。其中一个是默认的常规脚本,永远无法更改…但在接下来的几天中,用户希望运行可通过表单编辑的不规则脚本。在用户选择的时间间隔上,不规则脚本将运行,直到时间间隔结束,在这种情况下,应恢复默认时间间隔。一个脚本只能运行,要么是时间间隔不规则的脚本,要么是默认脚本。我同意你的看法,我也在想同样的事情,当我读到你的答案时,我知道这是完全可能的:)