コードイグナイターでログインフォームに間違ったフォームを送信するさまざまな組み合わせがすべて正常に機能しています。
**編集 - 他の提案が二重のビューをロードしているか、私の構造とまとまっていないため、これは最も論理的な構成のようです。1 つを除いて、すべてのエラーが正常に機能します。
正しい電子メールと意味不明なパスワードで送信を押すと、エラーは表示されず、入力された電子メールが自動入力され、パスワード フィールドがデフォルトの「PASSWORD」テキストに設定された状態でページがリロードされます。
私はこれまでも長い間立ち往生しており、どんな助けも大歓迎です。
function validate_credentials_login()
{
$this->load->library('session');
$this->load->helper(array('form','url'));
$this->load->model('user_model', 'um');
$this->load->library('encrypt');
$this->load->library('form_validation');
$this->form_validation->set_rules('email_login', 'Email', 'trim|required|valid_email');
$this->form_validation->set_rules('password_login', 'Password', 'trim|required');
if ( $this->form_validation->run() === TRUE )
{
$user = $this->um->validate_home_login(array('email' => $this->input->post('email_login')));
if ( $user )
{
if ( $user->password == $this->encrypt->sha1( $user->salt . $this->encrypt->sha1($this->input->post('password_login'))) && $user->email == $this->input->post('email_login') )
{
$this->session->set_userdata(array('email' => $this->input->post('email_login')));
redirect('account/edit');
}
else
{
$this->form_validation->run() == FALSE;
}
}
else
{
$this->form_validation->run() == FALSE;
}
}
$data['main_content'] = 'home/home_page';
$this->load->view('includes/templates/home_page_template', $data);
}