未显示必填字段错误


required field error not appearing

使用此代码尝试显示错误时,页面会重定向到 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();

但是,无论如何,它总是会转到我的帐户谢谢

在你的第一个标题之后,也放exit。您的代码只是继续,它可能还会发出第二个位置标头,从而否定第一个位置标头。

就像弗里茨说的那样,如果你想看到错误,你必须将错误打印到屏幕上;但是,你不能在header之前打印出任何HTML,否则header将无法正常工作。 如果您想在重定向页面上打印错误,那么我建议将错误消息放在$_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[] 标记,然后在末尾添加空白""