必填字段错误未显示

时间:2012-04-13 22:11:38

标签: php

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

像弗里茨所说,如果你想看到它,你将不得不将错误打印到屏幕上;但是,在headerheader无效之前,您无法打印任何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[]标记,然后在结尾处添加空白""