[本地主机在Codeigniter中重定向了您太多次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[本地主机在Codeigniter中重定向了您太多次相关的知识,希望对你有一定的参考价值。
我已经为此进行了搜索,但没有得到适用于我的情况的任何信息,因此,我正在发布我的问题。我正在使用CodeIgniter MVC框架进行管理员登录,我为所有从“ Admin_Controller”扩展的管理员控制器编写了名为“ Admin_Controller”的基本控制器,并在基本控制器“ Admin_Controller”中写入了登录会话检查
文件夹结构:--controllers
--admin/
-- Banners.php
-- Categories.php
-------
-------
-- Login.php
--models
-- admin
-- Mdl_banners.php
-- Mdl_categories.php
------------
--------------
--views
--admin
-------
-------
登录表格:admin / login / login_View.php
<form action="<?php echo base_url(); ?>admin/login/validate_user" method="post" name="login_form"> <h1>Login</h1> <?php echo "<div class='error_msg'>"; if (isset($error_message)) echo $error_message; echo validation_errors(); echo "</div>"; ?> <div> <input type="text" name="user_name" class="form-control" placeholder="UserName" required="" /> </div> <div> <input type="password" name="user_password" class="form-control" placeholder="Password" required="" /> </div> <div> <button class="btn btn-default submit" name="submit_login">Login</button> </div> </form>
我的基本控制器:core / MY_Controller.php
class MY_Controller extends CI_Controller function __construct() parent::__construct(); // modules::run('admin/login/isUserLoggedin'); class Admin_Controller extends MY_Controller public function __construct() parent::__construct(); $this->_title = 'My Site Name'; // check if user is logged in if (! $this->session->userdata('logged_in')) redirect('admin/login');
我的登录控制器:Controllers / admin / Login.php
class Login extends Admin_Controller public function __construct() parent::__construct(); $this->load->model('admin/mdl_login'); public function index() if ($this->session->userdata('logged_in')) redirect(base_url('admin/dashboard')); $data['title'] = $this->_title . ' - Admin Login'; $this->load->view('admin/login/login_view'); public function validate_user() $this->form_validation->set_rules('user_name', 'Username', 'trim|required|xss_clean'); $this->form_validation->set_rules('user_password', 'Password', 'trim|required|xss_clean'); if ($this->form_validation->run() == FALSE) $this->load->view('login_view'); else $data = array( 'username' => $this->input->post('user_name'), 'password' => md5($this->input->post('user_password')) ); $result = $this->mdl_login->login($data); if ($result == TRUE) $user_name = $this->input->post('user_name'); $result = $this->mdl_login->read_user_information($user_name); if ($result != false) $session_data = array( 'user_id' => $result[0]->id, 'user_name' => $result[0]->username, 'email' => $result[0]->email, ); // Add user data in session $this->session->set_userdata('logged_in', $session_data); redirect('admin/dashboard'); else $data = array( 'error_message' => 'Invalid Username or Password' ); $this->load->view('admin/login/login_view', $data);
htaccess:
RewriteEngine On RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d RewriteRule ^(.*)$ index.php?/$1 [L]
我的疑问是,在'controllers'的'admin'文件夹中有'Login'控制器是否存在任何问题?有人指出我正确的方向吗?谢谢。我的问题是显示为“本地主机重定向了您太多次。”
具有此功能
public function bar()
echo "I am about to show the login form here";
您可以阅读有关重新映射here的信息,或使用route。无论哪种方式,您都应该能够执行该功能来中断重定向循环。
以上是关于[本地主机在Codeigniter中重定向了您太多次的主要内容,如果未能解决你的问题,请参考以下文章
在 CodeIgniter 3 中重定向后 Flashdata 未清除