2013-02-23 2 views
0

Я работал над этим в течение дня. Я получаю это same problem, но я не понимаю.Ошибка переадресации в CodeIgniter

<?php 
class Users extends CI_Controller 
{ 
    function index() 
    { 
     redirect('Users/login'); 
    } 

    function login() 
    { 
     $data['title']  = 'Selamat datang di Sistem Informasi Koperasi'; 
     $data['main_content'] = 'login'; 
     $this->load->view('Users/template', $data); 
    } 

    function logout() 
    { 
     $this->session->sess_destroy(); 
     $this->session->set_flashdata('info_login', 'Anda sudah keluar dari sistem'); 
     redirect('Users/login'); 
    } 

    function validate() 
    { 
     //Load User Model 
     $this->load->model('Users_Model'); 
     //Validate User 
     $query = $this->Users_Model->validate(); 


     if($query != '') { 
      //Mengambil Roles dari Groups 
      $roles = $this->Users_Model->roles($query->group_id); 

      //$this->login_model->last_login($query); 
      $data = array(
       'username' => $query->username, 
       'roles' => $roles, 
       'is_logged_in' => true 
      ); 
      $this->session->set_userdata($data); 

      if($roles == 'administrators') { 
       redirect('Administrators/index'); 
      } elseif($roles == 'managers') { 
       redirect('Managers/index'); 
      } 

      else { 
       $this->session->set_flashdata('info_login', 'Mohon maaf anda belum terdaftar sebagai Group! Silahkan hubungi admin!'); 
       redirect('Users/login'); 
      } 
     } else { 
      $this->session->set_flashdata('info_login', 'Maaf,username dan password yang anda masukkan salah,silahkan coba kembali!'); 
      redirect('Users/login'); 
     } 
    } 

} 

В Chrome и Firefox, я получаю это сообщение. Что мне делать?

На этой странице имеется бесконечная переадресация Веб-страница http://localhost/simpks/index.php/Users/login привела к избыточному количеству переадресаций . Очистка файлов cookie для этого сайта или разрешение сторонних файлов cookie могут устранить проблему. Если нет, возможно, это проблема с конфигурацией сервера , а не проблема с вашим компьютером. Здесь есть некоторые предложения: Перезагрузить эту страницу позже. Подробнее об этой проблеме . Ошибка 310 (net :: ERR_TOO_MANY_REDIRECTS): было переназначено слишком много .

это мой взгляд template.php

<?php 
$this->load->view('includes/header',$main_content); 
$this->load->view('Users/'.$main_content); 
$this->load->view('includes/footer'); 
?> 

это моя модель Users_Model.php

<?php 

    class Users_Model extends CI_Model{ 

     function validate(){  
      $this->db->where('username',$this->input->post('username')); 
      $this->db->where('password',md5($this->input->post('password'))); 
      $query = $this->db->get('Users'); 

      if($query->num_rows == 1){ 
       $row = $query->row(); 
       return $row; 
      } 
     } 

     function roles($id){ 
      $this->db->where('id',$id); 
      $query = $this->db->get('Groups'); 

      if($query->num_rows == 1){ 
       $row = $query->row(); 
       return $row->name; 
      } 
     } 

    } 

?> 
+0

Я не вижу никаких переадресаций в 'метод login'. –

+0

Вы больше не переадресовываете свое мнение на страницу входа? – Winston

+0

да, это первый раз – user2103279

ответ

0

использование включают вместо загрузчика, если вы называете его в поле зрения. ex: include 'includes/footer';

0

Вам не нужно ставить redirect('Users/login'); для проверки сессии в вашем классе вида. Просто сотри его.

Если вам нужно перенаправить, поместите его на другую страницу, например, пользователи/тест. Если сеанс истек в режиме переадресации пользователей/тестового вызова в пользовательском/тестовом контроллере. Для лучшей структуры, я думаю, вам следует минимизировать функцию php.

0

Я также сталкиваюсь с этой проблемой, но оба контроллера страницы у меня есть метод перенаправления, поэтому я добавляю refresh в метод перенаправления, попробуйте.

читать в нижней части страницы CI redirect with refresh

<?php 
class Users extends CI_Controller 
{ 
    function index() 
    { 
     redirect('another_controller/login'); 
    } 
} 

Create another controller - another_controller.php 

class another_controller extends CI_Controller 
{ 
    function login() 
    { 
     $this->load->view('home'); 
    } 
} 
Смежные вопросы