使用此代码尝试显示错误时,页面会重定向到myaccount,但只有在必填字段已完成时才应重定向;例如;
如果未选择birth_country,则会显示错误消息
if(empty($birth_country))
{
$err[] = "ERROR - Enter Birth Country";
header("Location: personal.php?msg=$err[0]");
}
但是如果选择了它,应该重定向到...
header("location: myaccount.php?id=" . $_SESSION['user_id']. "");
exit();
然而无论怎样,它总是会出现在myaccount上 感谢
答案 0 :(得分:1)
在您的第一个标题后也放置了exit
。你的代码只是继续,它也可能会发出第二个位置标题,否定第一个。
答案 1 :(得分:0)
像弗里茨所说,如果你想看到它,你将不得不将错误打印到屏幕上;但是,在header
或header
无效之前,您无法打印任何HTML。如果您想在重定向页面上打印错误,那么我建议将错误消息放在$_SESSION
cookie中,然后在重定向页面上调用echo
该cookie /变量。但是,通过这样做,您需要使用问题页面顶部的php session_start()
和重定向页面的顶部才能使用$_SESSION
变量
另外,您的第二个header
header("location: myaccount.php?id=" . $_SESSION['user_id']. "");
exit();
应该是这样的:
header("Location: myaccount.php?id=$_SESSION['user_id']")
通过使用双引号,您无需添加$_SESSION[]
标记,然后在结尾处添加空白""
。