2010-08-30 120 views
0

当用户创建自己的帐户时,如果出现错误,我想将它们重定向到同一页面,但在顶部显示错误。发送错误消息到另一页?

这样做的最好方法是什么?

+1

为什么重定向?你为什么不打印错误?如果要将数据处理与数据输出分开,请使用模板。 – Gumbo 2010-08-30 15:37:08

+0

因为如果用户填写输入框并输入错误信息,当他们按下“注册”时,我希望他们被重定向到注册页面并告知错误。 – 2010-08-30 15:41:25

+0

只需将表单数据发送到同一页面并在输出表单之前进行验证。然后你可以打印一个错误并填写表格。 – Gumbo 2010-08-30 16:20:39

回答

3

结构化你的页面如下(以粗糙的伪代码)

if (doing a post) { 
    process input 
    if (post is ok) { 
     redirect to success page 
    } else { 
     build error messages 
    } 
} 

if (error messages available) { 
    display errors 
} 

display form(filled in with previously submitted values) 
+0

这就是我所做的,但有没有一种方法可以做到这一点,而不必将PHP和HTMl合并在同一页 – 2013-03-28 16:27:39

+0

当中,请使用模板系统。但无论您使用的是什么样的模板系统,在某些时候,代码/ html必须混合在一起。 – 2013-03-28 21:53:40

0

我保存错误到会话并删除它,一旦它被渲染。由于您可能会在重定向时中止页面执行,因此它将永远不会到达负责渲染的代码,从而将其留在会话中。

1

我喜欢创建一个名为set_feedback()的函数,它在会话变量中设置错误。那么我有这个其他功能get_feedback()检索信息并取消设置变量。