表格验证丢失变量

时间:2010-12-21 08:01:09

标签: php validation variables forms

假设我输入了一个包含此结尾网址的注册表单:registration.php?accountType=a 表单在同一页面上解析(registration.php)。如果用户未通过表单验证,则会将其带到registration.php并显示错误消息。所以你看我丢失了我的变量accountType = a。我的问题:

我可以提交表单进行验证并保留accountType变量吗?我知道这可以使用cookie轻松完成。我只想进一步了解。

解决方案:虽然以下所有答案都有效,但我使用了Session变量和<form action="registration.php?<?php print 'accountType=' . $_SESSION['accountType']; ?>"等。感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

你可以通过3种方式轻松实现它......

  1. 使用PHP会话。只需做一些像

    这样的事情

    在session_start(); $ _SESSION ['namespace'] = array('post'=&gt; $ _POST,'get'=&gt; $ _GET);

  2. 使用Cookie(会话对我来说更优雅)。

  3. 使用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);
}