我想在周末禁用表单。在我的代码中,我在变量$ noaccess之后休息了一下。当我运行代码时,表单不会加载。我不知道发生了什么事请帮忙。 这是我的代码:
$wkday = date('D');
if ($wkday == "Sun") {
$noaccess = "yes";
break;
} elseif ($currday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}
以下是显示表单的代码:
if ($noaccess == "yes") {
echo "You cannot access this area now";
} else {
//Form displays normally
}
答案 0 :(得分:2)
您在$currday
elseif ($currday == "Sat")
$wkday
与elseif ($wkday == "Sat")
相同$wkday = date('D');
正如Dave Goten所说,break;
是不必要的。
如有必要,请添加exit;
,die;
或return;
。
$wkday = date('D');
if ($wkday == "Sun") {
$noaccess = "yes";
} elseif ($wkday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}
// test echo
if ($noaccess == "yes") {
echo "You cannot access this area now";
} else {
//Form displays normally
echo $noaccess; // test variable echo
echo "You have access";
}
error reporting等基本调试会在指定日期发出未定义变量 的信号。
即:Notice: Undefined variable: currday...
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告应仅在暂存时完成,而不是生产。
另外,确保您的表单与以下内容类似:
//Form displays normally
echo "<form action='' method='post'>"; // or get. I have no idea what you're using
echo "<input type='text' name='name'>";
echo "<input type='submit' name='submit'>";
echo "</form>";
...因为你没有在你的问题中加入。只是为了确保没有语法错误。
答案 1 :(得分:1)
使用or运算符来简化逻辑,然后不需要使用break。
if ($wkday == "Sun" || $wkday == "Sat") {
$noaccess = "yes";
} else {
$noaccess = "no";
}