[英]codeigniter admin panel file structure
我在用codeigniter设置管理部分时遇到困难。
我刚刚在控制器文件夹fam_Admin中添加了一个新文件夹。
因此结构如下:
-控制器
---> fam_admin
---->-login.php
在routes.php中,我添加了以下代码: $route['fam_admin'] = "fam_admin/login";
<?php
class Login extends CI_Controller {
public function index() {
//$login['main_content'] = '/fam_admin/login';
//$this -> load -> view('fam_admin/includes/template', $login);
$this -> load -> view('fam_admin/login');
}
public function validate_login() {
$username = $this -> input -> post('username');
$password = $this -> input -> post('password');
$this -> load -> library('form_validation');
$this -> form_validation -> set_rules('username', 'username', 'trim|required');
$this -> form_validation -> set_rules('password', 'password', 'trim|required|callback_credential_check');
if ($this -> form_validation -> run() == FALSE) {
$this -> load -> view('fam_admin/login');
}
}
public function credential_check() {
//Field validation succeeded. Validate against database
$username = $this -> input -> post('username');
$password = $this -> input -> post('password');
$this -> load -> model('fam_admin/admin');
//query the database
$query = $this -> admin -> check_login($username, $password);
if (!$query) {
$this -> form_validation -> set_message('login_check', 'Invalid username or password');
return false;
$this -> index();
} else {
$data = array(
'username' => $this -> input -> post('username'),
'is_logged_in' => true
);
$this -> session -> set_userdata($data);
//redirect('fam_admin/main_section');
redirect('site/logged_in');
}
}
}
?>
上面是login.php的代码,但是当验证了登录凭据后,它在google chrome中给出了以下错误。 您可以通过输入错误的凭据来尝试使用它,它应该会给您带来错误并加载相同的登录表单。
该网站在检索http://www.famtripsandinspectionvisits.com/index.php/fam_admin/login/validate_login时遇到错误。 可能由于维护原因而停机或配置不正确。
一方面,这是一个问题:
if ( ! $query) {
// ...
return false;
$this -> index();
}
一旦return
,就可以了-其余代码将无法运行-这样就不会调用index
方法,并且根本没有输出。
...但是,您不应该在应该只处理数据验证的函数中加载视图。
我会重新整理一下,尝试将您的控制器简化为:
class Login extends CI_Controller {
public function index()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'username', 'trim|required');
$this->form_validation->set_rules('password', 'password', 'trim|required');
if ($this->form_validation->run())
{
$this->load->model('fam_admin/admin');
$username = $this->input->post('username');
$password = $this->input->post('password');
$query = $this->admin->check_login($username, $password);
if ($query)
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('site/logged_in');
}
else
{
$this->form_validation->set_message('login_check', 'Invalid username or password');
}
}
$this->load->view('fam_admin/login');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.