假设我输入了一个包含此结尾网址的注册表单:registration.php?accountType=a
表单在同一页面上解析(registration.php)。如果用户未通过表单验证,则会将其带到registration.php并显示错误消息。所以你看我丢失了我的变量accountType = a。我的问题:
我可以提交表单进行验证并保留accountType变量吗?我知道这可以使用cookie轻松完成。我只想进一步了解。
解决方案:虽然以下所有答案都有效,但我使用了Session变量和<form action="registration.php?<?php print 'accountType=' . $_SESSION['accountType']; ?>"
等。感谢您的帮助。
答案 0 :(得分:0)
你可以通过3种方式轻松实现它......
使用PHP会话。只需做一些像
这样的事情在session_start(); $ _SESSION ['namespace'] = array('post'=&gt; $ _POST,'get'=&gt; $ _GET);
使用Cookie(会话对我来说更优雅)。
使用Ajax请求;它将使您的任务更容易。
答案 1 :(得分:0)
您应该在表单中使用它:
<form action="registration.php?accountType=a">
你应该在你的php中使用它:
if ($validation_success) {
header('sucess.php')
} else {
// don't do anything. The page(registration.php?accountType=a) loads
}
我只是给你这个主意。
答案 2 :(得分:0)
我认为您应该在网址末尾添加“accountType = $ accountType”,当您转发http时,用户将返回到正确的页面。
我没看到你的代码,但也许是这样:
if(auth())
{
//do something...
}
else
{
header("Location: /registration.php?somerror=true&accountType=" . $accountType);
}