0

ソースファイルはここにあります:https ://github.com/JeffreyWay/Simple-CI-Authentication

今、私がログインしようとすると、エラーがあると言ってループバックし続けますが、チュートリアルビデオのように、彼はOKとして戻ってきて、エラーは表示されません。

I get The Email Address field is required.The Password field is required.

ここで有効な両方のフィールドに入力を入力したにもかかわらず、私のコードは次のとおりです。

application / controllers / admin.php

<?php if(! defined('BASEPATH')) exit('No direct script access allowed');
class Admin extends CI_Controller
{
    public function index()
    {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('email_address', 'Email Address', 'required|valid_email');
        $this->form_validation->set_rules('password', 'Password', 'required|min_length[4]');

        if ($this->form_validation->run() !== FALSE)
        {
            $this->load->model('Admin_model');
            $this->Admin_model->verify_user('test@admin.com', 'test');
            // then validation passed. get from the db.
        }

        $this->load->view('login_view');
    }
}

application / views / login_view.php

<h1>Login</h1>

<?php echo form_open('admin'); ?>
<p>
    <?php 
        echo form_label('Email Address: ', 'email_address');
        echo form_input('Email Address', '', 'id="email_address"');
    ?>
</p>
<p>
    <?php 
        echo form_label('Password: ', 'password');
        echo form_password('Password', '', 'id="password"');
    ?>
</p>
<?php echo form_submit('submit', 'Login'); ?>
<?php echo form_close(); ?>

<div class="errors"><?php echo validation_errors(); ?></div>

何か案は?

4

1 に答える 1

1

ビューのフォーム入力を次のように変更する必要があります。

form_input('email_address', '', 'id="email_address"');

form_password('password', '', 'id="password"');

それらの名前は、コントローラーのルールに入力した名前と一致する必要があります。

于 2012-05-20T15:17:59.873 に答える