簡體   English   中英

if else 語句(未正確執行)- codeigniter

[英]if else statement (not properly executing) - codeigniter

我的 Admin.php controller 中有一個 function index(),我正在嘗試執行“if”語句,但它正在執行“else”語句。 我登錄的管理員用戶和密碼是正確的。 我的代碼有問題,這里的任何人都可以幫助我。 提前致謝。 :)

這是我的代碼:

//Admin.php controller

    <?php
class Admin extends CI_Controller
{
  public function __construct()
  {
    parent::__construct();
    if ($this->session->userdata('logged_in') !== TRUE) {
      redirect('Login');
    }
  }
  function index()
  {
    if ($this->session->userdata('level') === '1') {
      $this->load->view('admin_view');
    } else {
      echo "Access Denied";
    }
  }
}

 //Login.php controller

    <?php

class Login extends CI_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->load->model('Login_model');
  }
  public function index()
  {
    $this->load->view('login_view');
  }

  public function auth()
  {
    $username = $this->input->post('user_name', TRUE);
    $password = $this->input->post('user_pass', TRUE);
    $result = $this->Login_model->check_user($username, $password);
    if ($result->num_rows() > 0) {
      $data = $result->row_array();
      $name = $data['user_name'];
      $level = $data['user_lvl'];
      $sesdata = array(
        'user_name' => $username,
        'user_lvl' => $level,
        'logged_in' => TRUE
      );
      $this->session->set_userdata($sesdata);
      if ($level === '1') {
        redirect('Admin');
      } elseif ($level === '2') {
        redirect('User');
      }
    } else {
      echo "<script>alert('Access Denied');history.go(-1);</script>";
    }
    $this->load->view('login_view');
  }
}

我建議使用雙等號而不是三等號

if ($this->session->userdata('level') == '1') {
  $this->load->view('admin_view');
} else {
  echo "Access Denied";
}

並檢查 level 是字符串還是 int ..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM