Php 必填字段错误未出现
当使用此代码尝试显示错误时,页面重定向到myaccount,但仅当必填字段已完成时才应重定向到myaccount,例如 如果未选择出生国,则显示错误消息Php 必填字段错误未出现,php,Php,当使用此代码尝试显示错误时,页面重定向到myaccount,但仅当必填字段已完成时才应重定向到myaccount,例如 如果未选择出生国,则显示错误消息 if(empty($birth_country)) { $err[] = "ERROR - Enter Birth Country"; header("Location: personal.php?msg=$err[0]"); } 但是如果选择了,应该重定向到 header("locati
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();
然而,不管发生什么,它总是会进入我的帐户
感谢您在第一次头球击球后退出。您的代码继续运行,很可能还会发出第二个位置头,否定第一个位置头。正如Frits所说,如果您希望看到错误,您必须将错误打印到屏幕上;但是,您不能在
标题
之前打印出任何HTML,否则标题
将不起作用。如果您想在重定向页面上打印错误,那么我建议将错误消息放入$\u会话
cookie中,然后在重定向页面上调用并echo
该cookie/变量。但是通过这样做,您需要在问题页面顶部和重定向页面顶部使用php session\u start()
,以便使用$\u session
变量
另外,您的第二个标题
header("location: myaccount.php?id=" . $_SESSION['user_id']. "");
exit();
应该是这样的:
header("Location: myaccount.php?id=$_SESSION['user_id']")
通过使用双引号,您不需要添加
$\u SESSION[]
标记,然后在末尾添加空白的“
。我在URL栏中发现错误,但不在屏幕上http://localhost/euisample/personal.php?msg=ERROR%20-%20输入%20Birth%20Country
是的,这就是您要做的,将错误放入URL。如果你想在屏幕上显示它,你必须把它拿出来:P类似于echo$\u get['msg']
当使用你推荐的标题时,我的PHPSTORM会在代码周围显示这个错误