0

我为网站创建了登录表单和注册表单。

该表单已发布到 checklogin.php 和 checksign.php 以供验证,但是当它发现任何错误时,它会在单独的文件中显示它们。

登录

以下是以下验证语句的错误消息

 if (!$_POST['fullname'] | !$_POST['myusername'] | !$_POST['mypassword'] | !$_POST['remypassword']) {

        die('You did not complete all of the required fields');
    }

错误

我的问题是:我如何在同一页面中显示它们?例如; 在表单旁边的标签中。谢谢,任何提示都会有很大帮助。这是我做汽车销售的网站

4

3 回答 3

2

通过构建您的代码,以便验证顺序可以在最终处理之前出现,如果没有,则再次显示表单页面

if($_SERVER['REQUEST_METHOD'] === 'POST')
{
  $valid = false;
  // perform input validations here
  if(dosomething())
  {
    $valid = true;
  }

  // if valid, perform processing here, and either show success page (or redirect)
  if($valid === true)
  {
    // SQL junk here
    include('success.php');
    exit();
  }
}

// render original form after this line
于 2012-04-11T03:09:57.170 回答
0

您的表单将数据发布到 checklogin.php,而不是将数据发布到 index.php 并在该页面上处理验证。

<form class="clearfix" action="checklogin.php" method="post">
于 2012-04-11T03:06:39.260 回答
0

过去,我使用过一个自定义错误处理程序,它使用会话来存储错误,我建议这样做。

使用会话(在自定义错误处理程序中)存储错误的优点是它们可以很容易地被读取并显示在您拥有的任何视图页面中。例如,如果您想在类中抛出错误,则可以在将它们保存到会话后随时显示它们。因此,虽然对于这个特定问题,您可以简单地将所有代码移动到一个 php 文件中,但这可能不是最好的解决方案。

更不用说如果您的“检查登录”重定向回登录页面,显然您的所有变量值都不会保留。

于 2012-04-11T03:07:38.360 回答