Php 必填字段错误未出现

Php 必填字段错误未出现,php,Php,当使用此代码尝试显示错误时,页面重定向到myaccount,但仅当必填字段已完成时才应重定向到myaccount,例如 如果未选择出生国,则显示错误消息 if(empty($birth_country)) { $err[] = "ERROR - Enter Birth Country"; header("Location: personal.php?msg=$err[0]"); } 但是如果选择了,应该重定向到 header("locati

当使用此代码尝试显示错误时,页面重定向到myaccount,但仅当必填字段已完成时才应重定向到myaccount,例如

如果未选择出生国,则显示错误消息

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会在代码周围显示这个错误