2016-09-28 14 views
0

私は登録ページにリダイレクトする登録フォームを持っています。今私は自分のページにログイン機能を追加したいと思うし、ログイン後に私のページにはそれぞれのユーザーのフォームが自動入力されるべきだ。しかし、私はそれを使用して助けてください方法を取得しませんでした。codeigniterで自分のプロジェクトにログイン機能を追加する

コントローラ

function login(){ 
    $this->load->view('login_form.php'); 
} 
function check_login(){ 
    if($_POST) { 
     $result = $this->Student_info_model->validate_user($_POST); 
     if(!empty($result)) { 
      $data = ['id' => $result->user,'name' => $result->name ]; 
      $this->session->set_userdata($data); 
      redirect('home'); 
     } else { 
      $this->session->set_flashdata('flash_data', 'Username or password is wrong!'); 
      redirect('Student_info/login'); 
     } 
} 

モデル

public function validate_user($data) { 
    $this->load->database(); 
    $this->db->where('name', $data['name']); 
    $this->db->where('password', md5($data['password'])); 
    return $this->db->get('student_info_table')->row(); 
} 

ビュー

<html> 
<body> 
<form action="<?php echo site_url('Student_info/check_login');?>"method="post"> 
    <label for="username">Username</label> 
    <input type="text" name="username" /><br> 
    <label for="password">password</label> 
    <input type="text" name="password" /><br> 
    <input type="submit" value="login"/> 
</form> 

答えて

1

この1

をお試しください

コントローラ

<?php 
 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
class User extends CI_Controller 
 
{ 
 
\t public function __construct() 
 
\t { 
 
\t \t parent::__construct(); 
 
\t \t $this->load->library('form_validation'); 
 
\t \t $this->load->model('login_model'); 
 
\t \t 
 
\t } 
 
\t public function index() 
 
\t { 
 
\t \t if(($this->session->userdata('logged_in')==1) && ($this->session->userdata('role')==1)) 
 
\t \t { 
 
\t \t \t redirect(base_url('admin/dashboard'),'refresh'); 
 
\t \t } 
 
\t \t if(($this->session->userdata('logged_in')==1) && ($this->session->userdata('role')==2)) 
 
\t \t { 
 
\t \t \t redirect(base_url('teacher/dashboard'),'refresh'); 
 
\t \t } 
 
\t \t if(($this->session->userdata('logged_in')==1) && ($this->session->userdata('role')==2)) 
 
\t \t { 
 
\t \t \t redirect(base_url('student/dashboard'),'refresh'); 
 
\t \t } 
 
\t \t $data['title']='User Login'; 
 
\t \t $this->load->view('login',$data); 
 
\t } 
 
\t 
 
\t public function login_action() 
 
\t { 
 
\t \t 
 
\t \t $this->form_validation->set_rules('username', 'Username', 'trim|required|alpha_numeric'); 
 
\t \t $this->form_validation->set_rules('userpassword', 'Password', 'trim|required'); 
 
\t \t if ($this->form_validation->run() == FALSE) 
 
\t \t { 
 
\t \t \t $this->session->set_flashdata('user-error', 'Username or password are incorrect !'); 
 
\t \t \t redirect(base_url().'user'); 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t $data = array(
 
\t \t \t \t \t \t 'username' => $this->input->post('username'), 
 
\t \t \t \t \t \t 'password' => $this->input->post('userpassword') 
 
\t \t \t \t \t \t); 
 
\t \t \t $result =$this->login_model->userlogin($data); \t 
 
\t \t \t if ($result == TRUE) 
 
\t \t \t \t { 
 
\t \t \t \t $username = $this->input->post('username'); 
 
\t \t \t \t $result = $this->login_model->get_userinfo($username); \t \t \t \t \t 
 
\t \t \t \t if ($result != false) { 
 
\t \t \t \t $session_data = array(
 
\t \t \t \t 'userid' => $result[0]->userid, 
 
\t \t \t \t 'username' => $result[0]->username, 
 
\t \t \t \t 'email' => $result[0]->email, 
 
\t \t \t \t 'role'=>$result[0]->role, 
 
\t \t \t \t 'logged_in'=>1 
 
\t \t \t \t); 
 
\t \t \t \t $role=$result[0]->role; 
 
\t \t \t \t $this->session->set_userdata($session_data); 
 
\t \t \t \t if($role=='1') 
 
\t \t \t \t { 
 
\t \t \t \t \t redirect(base_url().'admin/dashboard'); 
 
\t \t \t \t } 
 
\t \t \t \t if($role=='2') 
 
\t \t \t \t { 
 
\t \t \t \t \t $this->load->view('teacher'); 
 
\t \t \t \t } 
 
\t \t \t \t if($role=='3') 
 
\t \t \t \t { 
 
\t \t \t \t \t $this->load->view('student'); 
 
\t \t \t \t } \t \t \t \t \t \t 
 
\t \t \t \t \t } \t 
 
\t \t \t \t } 
 
\t \t \t \t else 
 
\t \t \t \t { 
 
\t \t \t \t \t $this->session->set_flashdata('user-error', 'Username or password are incorrect!'); 
 
\t \t \t \t \t redirect(base_url().'user'); 
 
\t \t \t \t } 
 
\t \t } 
 
\t } 
 
\t 
 
\t public function logout() 
 
\t { 
 
\t \t $this->session->sess_destroy(); 
 
\t \t $this->session->set_flashdata('user-out','You have been logout Successfully'); 
 
\t \t redirect(base_url().'user'); 
 
\t } 
 
\t 
 
}

モデル

<?php 
 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
class login_model extends CI_Model 
 
{ 
 
\t public function __contruct() 
 
\t { 
 
\t \t parent::__construct(); 
 
\t \t $this->load->database(); 
 
\t } 
 
\t 
 
\t public function userlogin($data) 
 
\t { 
 
\t $condition = "username =" . "'" . $data['username'] . "' AND " . "password =" . "'" . $data['password'] . "'"; 
 
\t $this->db->select('*'); 
 
\t $this->db->from('user'); 
 
\t $this->db->where($condition); 
 
\t $this->db->limit(1); 
 
\t $query = $this->db->get(); 
 
\t \t if($query->num_rows() == 1) 
 
\t \t { 
 
\t \t \t return true; 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t return false; 
 
\t \t } 
 
\t } 
 
\t 
 
\t public function get_userinfo($username) 
 
\t { 
 
\t \t $condition = "username =" . "'" . $username . "'"; 
 
\t \t $this->db->select('*'); 
 
\t \t $this->db->from('user'); 
 
\t \t $this->db->where($condition); 
 
\t \t $this->db->limit(1); 
 
\t \t $query = $this->db->get(); 
 
\t \t if ($query->num_rows() == 1) { 
 
\t \t return $query->result(); 
 
\t \t } else { 
 
\t \t return false; 
 
\t \t } 
 
\t } 
 
}

ビュー

<!DOCTYPE HTML> 
 
<html> 
 
<head> 
 
<title><?php echo $title ?></title> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script> 
 
<link href="<?php echo base_url(); ?>assets/css/bootstrap.min.css" rel='stylesheet' type='text/css' /> 
 
<link href="<?php echo base_url(); ?>assets/css/style.css" rel='stylesheet' type='text/css' /> 
 
<link href="<?php echo base_url(); ?>assets/css/font-awesome.css" rel="stylesheet"> 
 
<script src="<?php echo base_url(); ?>assets/js/jquery.min.js"></script> 
 
<!----webfonts---> 
 
<link href='http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900' rel='stylesheet' type='text/css'> 
 
<!---//webfonts---> 
 
<!-- Bootstrap Core JavaScript --> 
 
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js"></script> 
 
</head> 
 
<body id="login"> 
 
    <div class="login-logo"> 
 
    <a href="<?php echo base_url(); ?>"><img src="<?php echo base_url(); ?>assets/images/logo.png" alt=""/></a> 
 
    </div> 
 
    <h2 class="form-heading">login</h2> 
 
    <div class="app-cam"> 
 
    <?php 
 
    if($this->session->flashdata('user-out')) { echo '<p class="text-success">'.$this->session->flashdata('user-out').'</p>';} 
 
    if($this->session->flashdata('user-error')) { echo '<p class="text-danger">'.$this->session->flashdata('user-error').'</p>';} ?> 
 
\t <form action="<?php echo base_url(),'user/login_action'; ?>" method="post"> 
 
\t \t <input type="text" name="username" class="text" value="E-mail address" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail address';}"> 
 
\t \t <input type="password" name="userpassword" value="Password" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Password';}"> 
 
\t \t <div class="submit"><input type="submit" onclick="myFunction()" value="Login"></div> 
 
\t \t <div class="login-social-link"> 
 
      <a href="" class="facebook"> 
 
       Facebook 
 
      </a> 
 
      <a href="" class="twitter"> 
 
       Twitter 
 
      </a> 
 
     </div> 
 
\t \t <ul class="new"> 
 
\t \t \t <li class="new_left"><p><a href="#">Forgot Password ?</a></p></li> 
 
\t \t \t <li class="new_right"><p class="sign">New here ?<a href=""> Sign Up</a></p></li> 
 
\t \t \t <div class="clearfix"></div> 
 
\t \t </ul> 
 
\t </form> 
 
    </div> 
 
    <div class="copy_layout login"> 
 
     <p>Copyright &copy; 2015 Modern. All Rights Reserved | Design by <a href="http://w3layouts.com/" target="_blank">W3layouts</a> </p> 
 
    </div> 
 
</body> 
 
</html>

関連する問題