嗨,我是使用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
我做错了什么?
答案 0 :(得分:1)
在这种情况下,您可以像header('location: '. URL .'myaccount/index?error');
这样重定向
并在视图中检查是否设置了$_GET['error']
以回显错误。
:D愚蠢的方式,但我认为它会起作用