gpt4 book ai didi

php - 为 Codeigniter 登录过滤

转载 作者:行者123 更新时间:2023-11-29 05:04:23 25 4
gpt4 key购买 nike

我的 CodeIgniter 项目中有一个登录系统。但是,我想像这样进行一些条件过滤:

如果用户名不是admin则返回登录页面

这是我的模型脚本:

  //Get Data Login
public function getAllData($table)
{
return $this->db->get($table)->result();
}

function login($username, $password) {
//create query to connect user login database
$this->db->select('*');
$this->db->from('artist');
$this->db->where('username', $username);
$this->db->where('password', MD5($password));
$this->db->limit(1);

//get query and processing
$query = $this->db->get();
if($query->num_rows() == 1) {
return $query->result(); //if data is true
} else {
return false; //if data is wrong
}
}

在我拥有的每个 Controller 上:

    function __construct(){
parent::__construct();
$this->load->model('m_admin_data');
$this->load->helper(array('url'));


//CEK LOGIN
if($this->session->userdata('login_status') != TRUE ){
$this->session->set_flashdata('notif','Login Gagal!! Username atau Password Salah !');
redirect('Admin_login');
};
$this->load->model('m_admin_data');

// END CEK LOGIN
}

有人可以帮我做这个吗?只有 username == admin 可以访问此页面

这是查看文件:

<form class="form-signin form-horizontal m-t-20" action="<?= site_url('Admin_login/cek_login')?>" method="post">
<!-- NOTIF -->
<?php
$message = $this->session->flashdata('notif');
if($message){
echo '<p class="alert alert-success text-center">'.$message .'</p>';
}?>

<div class="form-group ">
<div class="col-xs-12">
<input type="text" class="form-control" placeholder="Username" name="username" required="">
</div>
</div>

<div class="form-group">
<div class="col-xs-12">
<input type="password" class="form-control" placeholder="Password" name="password" required="">
</div>
</div>

<div class="form-group text-center m-t-30">
<div class="col-xs-12">
<button class="btn btn-custom btn-bordred btn-block waves-effect waves-light" type="submit">Sign in</button>
</div>
</div>

<div class="form-group m-t-30 m-b-0">

</div>
</form>

最佳答案

我认为在钩子(Hook)上定义这些条件会更好。使用 pre_controller 钩子(Hook)。然后,您不必在每个 Controller 上声明条件。

如果钩子(Hook)上的条件不满足,那么你只需要重定向到登录页面。在 pre_controller 钩子(Hook)中,跳过检查登录页面上的登录条件。

Hooks Docs

关于php - 为 Codeigniter 登录过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com