strpos 不适用于 $post 方法

strpos not working with $post method

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

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

您定义了 $alarm 两次。

第一行将$alarm定义为$_POST中的一个值,这样就OK了。

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

看看这一行:

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

您不认为以不同方式使用同一个变量有问题吗?

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