形
<?php echo validation_errors(); ?>
<?php $attributes = array('class' => 'navbar-form pull-right');
echo form_open('login/checkLogin', $attributes); ?>
<input class="span2" type="text" placeholder="Username" name="username">
<input class="span2" type="password" placeholder="Password" name="password">
<button type="submit" class="btn">Sign in</button>
</form>
コントローラー
<?php
class Login extends CI_Controller{
public function index(){
$this->load->view('templates/menu');
}
public function checkLogin(){
$this->form_validation->set_rules('username', 'Username', 'required|callback_verifyUser');
$this->form_validation->set_rules('password', 'Password', 'required|callback_verifyPassword');
if($this->form_validation->run() == false){
$this->load->view('pages/error');
}else{
}
}
}
?>
モデル
<?php
class Login_model extends CI_Model{
public function login($name, $pass){
$this->db->select('name, pass');
$this->db->from('members');
$this->db->where('name', $name);
$this->db->where('pass', $pass);
$query = $this->db->get();
if($query->num_rows() == 1){
return true;
}else{
return false;
}
}
}
?>
構造
応用
- コントローラー
- login.php
- ビュー
- テンプレート
- menu.php
- テンプレート
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !f
RewriteCond %{REQUEST_FILENAME} !d
RewriteRule .* index.php/$0 [PT,L]
私のフォームは menu.php にあります。submit return 404 を押すと、さらに詳しい情報が必要な場合はお問い合わせください。