我開始使用Ion Auth並想製作自定義登錄表單。我想知道如何在用戶點擊「提交」按鈕並驗證郵件錯誤後,在此輸入表單中保留並顯示當前用戶名?我看到這種方法在網站上使用了很多,但我找不到任何示例說明如何去做。如何在輸入表單中保留並顯示當前用戶名?
例如:在情況他沒有正確的密碼......
注意到我默認測試例如,當用戶輸入了不正確的密碼,錯誤味精彈出,當點擊提交,他當前的用戶名或電子郵件是空白的,不會以輸入形式存儲。
這裏修訂是我當前的代碼:
控制器
public function login() {
// Validated login form
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
// Get user input form
$username = $this->input->post('username', TRUE);
$password = $this->input->post('password', TRUE);
// If it can't log in
if ($this->form_validation->run() !== true) {
$data['message'] = (validation_errors()) ? validation_errors() : $this->session->flashdata('message');
$data['username'] = array( 'name' => 'username',
'type' => 'text',
'value' => set_value('username'));
$data['password'] = array( 'name' => 'password',
'type' => 'password');
$data['submit'] = array ( 'type' => 'submit',
'value' => 'Login');
// Display login page
$this->load->view('login', $data);
} else {
// User success login
if ($this->ion_auth->login($username, $password)) {
$this->session->set_flashdata('message', $this->ion_auth->messages());
redirect($this->config->item('base_url'), 'refresh');
} else {
// Display error
$this->session->set_flashdata('message', $this->ion_auth->set_error('Invalid username or password.'));
redirect('auth/login', 'refresh');
}
}
}
查看
<div id='login_form'>
<?php echo form_open("auth/login");?>
<p><?php echo form_input($username);?></p>
<p><?php echo form_password($password);?></p>
<div id="message"><?php echo $message;?></div>
<p id="submit"><?php echo form_submit($submit);?></p>
<?php echo form_close();?>
不使用'$這個 - > form_validation-> SET_VALUE( '用戶名')'只是用'SET_VALUE( '用戶名' )' – Jakub 2012-04-27 17:29:40
我做了你所說的,但它仍然無法正常工作。當我點擊Submit時,它不會以輸入的形式顯示當前的用戶名。我不知道什麼是錯的... – qpixo 2012-04-28 01:35:26