PHP显示位置错误


PHP error displaying position.

我有以下PHP代码:

            if($_SESSION['msg']['login-err'])
            {
                echo '<p class="error">'.$_SESSION['msg']['login-err'].'</p>';
                unset($_SESSION['msg']['login-err']);
            }

一切正常。元素内正确显示带有错误的'P'。

我的问题是如何指定我的错误应该显示在哪里?

不是作为表单中的第一个元素,而是

  • 作为第二个例子
  • <input name="user" />
  • 之前

? ?

任何建议都非常感谢。

由于您(有些天真地)在测试错误的同时显示错误,因此您应该将代码移到页面的较低位置,以便测试/输出发生在您希望它显示的位置。

理想情况下,您应该将显示代码与逻辑解耦。将您的错误存储在$errors变量中,以便稍后显示,该变量将传递给您的模板以进行渲染。

与其把echo放到现在的位置,不如把代码改成这样:

$error;
if($_SESSION['msg']['login-err'])
{
    $error = $_SESSION['msg']['login-err'];
    unset($_SESSION['msg']['login-err']);
}

然后,在输入标签的正上方,像这样做…

<?php echo $error;?>

这不是处理错误的最佳方式…但是它应该能满足你的要求。

"where"取决于你的前端设计。

在登录表单中,我建议在整个表单的顶部或底部显示错误。在联系/注册表单中,在字段旁边(顶部或左侧)显示错误更有意义。

完全不同的是逻辑和表示的结合。它们应该分开,因为每段代码应该只有一个修改的理由。你的作品有两个原因:设计或逻辑。

如果你对MVC和OOP做了一些扩展的研究,你会收获很多。