我有一个IF语句,当我提交我的页面时,它将检查时间是否已经存在,如果是,则为我的变量赋值或者回显一条消息,说明它找到了时间。似乎没有工作,我试过== true和!== false但没有运气。
以下是代码谢谢。
$alarm = $_POST[add];
$alarms = explode("\n", shell_exec("crontab -l")); //grab schdules
array_pop($alarms); //remove empty last line
foreach($alarms as $alarm)
{
if (strpos($alarm, $alarm['alarmhour']) !== false)
{
$HourSuccess = "Correct";
$message121 = "We found the same time.. ";
echo "<script type='text/javascript'>alert('$message121');</script>";
}
}
$alarm['alarmhour']
是我的post方法,其值为1-23。
$alarm
正在循环我的日程安排,我有一个在那里让我们说2点钟。如果我输入两个并尝试运行,它找不到它?
P.s:当我回显我的$alarm['alarmhour']
时,它会返回我正确输入的值。
答案 0 :(得分:2)
您定义了$alarm
两次。
第一行将$alarm
定义为来自$_POST
的值的值,这是正常的。
foreach行迭代$alarms
,每个值都存储到$alarm
,这也是正确的。但它会覆盖原始值。
看看这一行:
if(strpos($alarm, $alarm['alarmhour']) !== false)
您是否认为使用相同的变量存在问题?
相反,您应该为第1行定义的变量(例如$postedAlarm
)指定一个新名称,并在下面的行中重构正确的用法。
答案 1 :(得分:1)
您的第一行$alarm = $_POST[add];
应更正为$alarm = $_POST["add"];