1

ログインフォームでCodeigniter 4フォーム検証を使用しました。また、検証フォームはうまく機能します。ログインページがロードされる前に、インポートされたフィールドにもエラーが表示されます。以下では、ログインのセクションに関連するコントローラーとビューのコードを挿入しました。さまざまな方法を確認しましたが、それを解決する方法がわかりませんでした。それを解決するために私を指導してください。

ユーザーコントローラー:

<?php namespace App\Controllers;

use App\Models\UserModel;

class User extends BaseController
{
    public function index()
    {
        echo "User index";
        // Load views
//        echo view('static/header');
//        echo view('front/all');
//        echo view('static/footer');
    }

    public function login()
    {
        helper('form');

        $val = $this->validate([
            'username' => 'required',
            'password' => 'required',
        ]);

        if (!$val)
        {
            echo view('front/login', [
                'validation' => $this->validator
            ]);
        }
        else
        {
            return redirect()->to('/');
        }

    }

    public function logout()
    {

    }

    public function register()
    {
        // Load views
        echo view('front/register');
    }
}

login.php (ログインページビュー):

<body>
<?= \Config\Services::validation()->listErrors(); ?>
<div class="limiter">
    <div class="container-login100">
        <div class="wrap-login100 p-b-160 p-t-50">
            <?php echo form_open(base_url('user/login'),array('class'=>'login100-form validate-form')); ?>
                    <span class="login100-form-title p-b-43">
                        Login Form
                    </span>

                <div class="wrap-input100 rs1 validate-input">
                    <input class="input100" type="text" name="username">
                    <span class="label-input100">User Name</span>
                </div>


                <div class="wrap-input100 rs2 validate-input">
                    <input class="input100" type="password" name="password">
                    <span class="label-input100">Password</span>
                </div>

                <div class="container-login100-form-btn">
                    <button class="login100-form-btn" type="submit">
                        Login
                    </button>
                </div>

                <div class="text-center w-full p-t-23">
                    <a href="#" class="txt1">
                        Forget Password?
                    </a>
                </div>

                <div class="text-center w-full p-t-23">
                    <a href="<?php echo base_url('user/register'); ?>" class="txt1">
                        SignUp
                    </a>
                </div>
            </form>
        </div>
    </div>
</div>

</body>

出力 (ログインページの初回アクセス): localhost/user/login

4

2 に答える 2