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>

私の考えでは、これはこのように機能するはずです。ユーザーがログインを試み、ユーザーまたはパスワードが有効でない場合、ログインフォームが再度表示され、その上に次のメッセージが表示されます: ユーザーまたはパスワードが無効です! もう一度お試しください。

次のエラーが発生します Notice: Undefined property: View::$msg in C:\xampp\htdocs\w\views\login\index.php on line 2

私が間違っていることは何ですか?

4

1 に答える 1

1

この場合、このようにリダイレクトして、エラーをエコーするように設定さheader('location: '. URL .'myaccount/index?error'); れているかどうかをビューで確認できます。$_GET['error']

:D 愚かな方法ですが、うまくいくと思います

于 2013-11-23T15:51:37.180 に答える