strpos不使用$ post方法

时间:2016-09-19 10:55:44

标签: php strpos

我有一个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']时,它会返回我正确输入的值。

2 个答案:

答案 0 :(得分:2)

您定义了$alarm两次。

第一行将$alarm定义为来自$_POST的值的值,这是正常的。

foreach行迭代$alarms,每个值都存储到$alarm,这也是正确的。但它会覆盖原始值。

看看这一行:

if(strpos($alarm, $alarm['alarmhour']) !== false)

您是否认为使用相同的变量存在问题?

相反,您应该为第1行定义的变量(例如$postedAlarm)指定一个新名称,并在下面的行中重构正确的用法。

答案 1 :(得分:1)

您的第一行$alarm = $_POST[add];应更正为$alarm = $_POST["add"];