Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. <?php
  2. class Controllers_login extends CI_Controller{
  3. //コンストラクタの定義
  4. public function __construct(){
  5. parent::__construct();
  6. $this->load->database();
  7. $this->load->library('session');
  8. $this->load->helper('url');
  9. $this->load->helper('form');
  10.  
  11.  
  12.  
  13. }
  14.  
  15. public function index(){
  16. //メインページに移行
  17. $this->load->view('views_mainpage');
  18. }
  19.  
  20. // public function test(){
  21. // $this->load->model('models_login');
  22. //
  23. // //$res = $this->models_login->getUser(1);
  24. //
  25. // $res = array('name' => 'yamada');
  26. // var_dump($res);
  27. // }
  28.  
  29.  
  30.  
  31.  
  32.  
  33. public function login(){
  34.  
  35. //ログイン画面で送信ボタンが押されたかを確認する。
  36. if(!isset($_POST['send'])){
  37. $this->load->view('views_login');
  38. }
  39. else{
  40. //送信ボタンが押されたことが確認できた場合
  41. $this->load->library('form_validation');
  42. $this->form_validation->set_rules('email','mailaddress','required');
  43. $this->form_validation->set_rules('password','mypassword','required');
  44.  
  45. //$data=array();
  46.  
  47. //もし、空欄の項目があったらfalse
  48. if($this->form_validation->run()==FALSE){
  49. //$condition['no_data']=isset ($this->form_validation) && $this->form_validation->run()==FALSE;
  50. //viewに未入力ですと表示する。
  51. $data['no_data']=TRUE;
  52. $this->load->view('views_login',$data);
  53. //$this->load->view('views_login');
  54. }
  55.  
  56. else{
  57. $email=$this->input->post('email');
  58. $password=$this->input->post('password');
  59.  
  60. $this->load->model('models_login');
  61. //ログインチェックをする。データベースに存在するか。
  62. $is_login=$this->models_login->checkLogin($email,$password);//!!!
  63. //is_login = checkLogin(pwd,mail) //boolean
  64.  
  65. //データベースに組み合わせが存在した場合
  66. if($is_login==TRUE){
  67. //if($is_login==TRUE){
  68. //メールアドレスとパスワードから全てのユーザ情報を取得する。
  69. $user=$this->models_login->getUserFromLogin($email,$password);//!!!
  70. //$user = getUserFromLogin($email,$password) //array
  71.  
  72. //idをセッションに保存する。set_userdataの引数は配列なのでarray型にする。
  73. $this->session->set_userdata(array('users'=>$user['id']));
  74. //$this->session->set_userdata( array("user_id"=>$user['id']) );
  75.  
  76.  
  77. //Call id from session
  78. //$sess_id = $this->session->userdata('id');
  79. //セッションのIDを取得する。
  80. //$session_id =array('id_key'=>$user_id['id']);
  81.  
  82.  
  83. //IDからユーザ情報(今回は名前)を取得する。
  84. $id=$user['id'];
  85. $data['user']=$this->models_login->getUser($id);
  86. //$data['user']=$user;
  87. //var_dump($data);
  88.  
  89. //$dataをviewに渡す。
  90. $this->load->view('views_mainpage',$data);
  91. }
  92. else{
  93. $data['no_match']=TRUE;
  94. //viewで正しいデータを表示してくださいと表示する。
  95. $this->load->view('views_login',$data);
  96. }
  97. }
  98. }
  99. }
  100.  
  101. public function logout(){
  102. //セッションを破棄する。
  103. $this->session->sess_destroy();
  104. //コントローラにリダイレクトして最初に戻る。
  105. redirect("controllers_login");
  106.  
  107. }
  108. }
  109. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement