MVC PHP - 显示错误消息

时间:2013-08-24 20:28:32

标签: php templates

嗨,我是使用MVC模式的新手。

在登录控制器中我有

function run() {
    $result = $this->model->run();
    if ($result) {
        header('location: '. URL .'myaccount/index');
    } else {

        $this->view->msg = '<h2>User or password are not valid! Please try again!</h2>';
        $this->view->render('login/index'); 
    }
}

在我的登录视图中,我有

    <div class="container">
   <?php echo $this->msg; ?>
      <form class="form-signin" action="<?php echo URL; ?>login/run" method="post">
        <h2 class="form-signin-heading">Please sign in</h2>
        <input type="text" class="form-control" name="email" placeholder="Email address" autofocus required>
        <input type="password" class="form-control" name="password" placeholder="Password" required>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>
      </form>

    </div>

在我看来,这应该是这样的。用户尝试登录,如果用户或密码无效,将再次显示登录表单,上面会显示以下消息:用户或密码无效!请再试一次!

我遇到以下错误提示:未定义的属性:第2行的C:\ xampp \ htdocs \ w \ views \ login \ index.php中的View :: $ msg

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以像header('location: '. URL .'myaccount/index?error');这样重定向 并在视图中检查是否设置了$_GET['error']以回显错误。

:D愚蠢的方式,但我认为它会起作用