我有这种无法解决的偏移,似乎无法找出原因。当它拒绝虚假形式时,它会重定向它。请帮忙。
这是播放下面三行的区域。
if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" || $_POST['Email'==""] ||
$_POST['Phone'==""] || $_POST['Mobile'==""] || $_POST['Address'==""] ||
$_POST['City'==""] || $_POST['Town'==""] || $_POST['Country'==""] ){
$redirect= sprintf("order.php?error=true&name=%s", $_SESSION['order']['product']);
if (!$_COOKIE['PHPSESSID']) {
$redirect .= '&'.SID ;
}
header(sprintf("Location: %s", $redirect));
exit;
}
答案 0 :(得分:6)
此:
$_POST['Email'==""]
应该是:
$_POST['Email'] == ""
和所有其他领域相同。
答案 1 :(得分:3)
这可能是因为您的结束]
- 括号未对齐。也就是说,
$_POST['Address'==""]
应该是
$_POST['Address']==""
答案 2 :(得分:2)
替换
if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" || $_POST['Email'==""] ||
$_POST['Phone'==""] || $_POST['Mobile'==""] || $_POST['Address'==""] ||
$_POST['City'==""] || $_POST['Town'==""] || $_POST['Country'==""] ){
使用
if ($_POST['FirstName'] == "" || $_POST['LastName'] == "" || $_POST['Email'] == "" ||
$_POST['Phone'] == "" || $_POST['Mobile'] == "" || $_POST['Address'] == "" ||
$_POST['City'] == "" || $_POST['Town'] == "" || $_POST['Country'] == "" ){
在您$_POST['Email'==""]
而不是$_POST['Email'] == ""
在检查它们是否为空之前,您还应该使用isset()检查它们是否已设置。