0

CodeIgniter フレームワークは初めてです。2.1.4 バージョンを使用しています。私はシンプルなログイン フォームをデザインし、JavaScript 検証を行い、サイトのホームページを作成しました。session を宣言する方法と、サインアウト リンクをクリックしてセッションを破棄する方法を理解するのを手伝ってくれませんか。

ログインページのコントローラーファイル (ビューページ login.php をロードするため):-

class Login extends CI_Controller {
    function __construct() {
      parent::__construct();
      $this->load->helper('url');
  }
 function index(){
    $this->load->view('login');
 }
 function success() {
     redirect ('home');
  }
}

ビュー home.php のコントローラ ファイル home.php

class Home extends CI_Controller {

// local constructor will be overriding the one in the parent controller class 
// for using a constructor in any of my Controllers
function __construct() {
    parent::__construct();

}

public function index()
        {
                $this->load->view('home');
        }
}

ビューページhome.phpを設計し、サインアウトリンクを提供しました:-

 <div class="logout"><a href="">Signout</a></div>

セッションを初期化するには、すべてのコンストラクターの変更/構成の変更に必要なものと、セッションの破棄方法を知る必要があります。

4

2 に答える 2

0

ここにコントローラーがあります...まず、セッションを宣言する必要があるため、1つを宣言する2つの選択肢があります。 application/config/config.php に移動して、コードを次のように変更します

 $autoload['libraries'] = array('session');

そして、この次の方法に従います(コントローラー)

 class Login extends CI_Controller{
function __construct(){
    parent::__construct();
   $this->load->library('session');
}
function index(){
$this->load->view('login');
}
function success() {
  $user=$this->input->post('user'); 
  $psw=$this->input->post('pswd');
   $this->load->model('validation');
  $result=$this->validation->useraccess($user,$psw);
if($result)
 {
  $this->session->set_userdata('username', $user); //setting session 
  redirect ('home');
 }
 else
{
   $this->index();
}
}
function logout()
{
   $this->session->unset_userdata('username');
   redirect('login','refresh');
}
}

これは検証が行われたモデルです

Class Validation extends CI_Model{
function __construct(){
 parent::__construct();
}
function useraccess($user,$pswd)
{
 $query = $this->db->query("select * from user where username='$user' AND password='$pswd'");
 foreach ($query->result_array() as $row)
 {
  if($row['username']==$user AND $row['password']==$pswd)
   {
return true;
   }
   else 
   {
     return false;
   } 
 }
}
}

ここにログインページが表示されます

2 つのテキスト ボックスと 1 つの送信ボタンを作成し、フォーム アクションを localhost/index.php/login/success として宣言します。

ログアウト用 localhost/index.php/login/logout

于 2013-10-21T10:35:59.313 に答える