2012-04-13 58 views
0

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

但是它总是转到不管我的帐户什么 感谢

回答

0

就像Frits说的那样,如果你想让它看到,你将不得不将错误打印到屏幕上;但是,在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[]标签,然后在末尾添加空白""

+0

它说不能用[]读取 – user1296762 2012-04-14 07:04:46

+0

你是什么意思? – 2012-04-14 09:04:02

+0

当使用您的推荐标题时,我的PHPSTORM说错误代码 – user1296762 2012-04-14 09:51:28

1

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

+0

我得到的网址栏上的错误不在屏幕上'http://localhost/euisample/personal.php?msg =错误%20-%20Enter%20Birth%20Country' – user1296762 2012-04-13 22:22:32

+1

是的,那就是你这样做,把错误的URL。如果你想在屏幕上显示它,你必须把它拿出来:P像'echo $ _GET ['msg']' – Halcyon 2012-04-13 22:38:46

相关问题