1

嗨,我是使用 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

我做错了什么?

4

1 回答 1

1

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

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

于 2013-11-23T15:51:37.180 回答