Сеанс Codeigniter не работает при загрузке на хост

#php #codeigniter

#php #codeigniter

Вопрос:

Я создал PHP проект с использованием Codeigniter , и он отлично работает с localhost . Я использую Xampp 3.2.1 и когда я загружаю проект на сервер и пытаюсь загрузить проект, он работает и показывает страницу входа в систему. Когда я ввожу учетные данные и логин, он перенаправляет меня на домашнюю страницу моего проекта, а когда я пытаюсь перейти в любое другое место, он перенаправляет меня на страницу входа. Пожалуйста, кто-нибудь может мне помочь в этом вопросе?

Ответ №1:

Это связано с тем, что Codeigniter встроенный сеанс не поддерживается на сервере. Что вы можете сделать, так это использовать PHP Sessions

обратитесь к этой ссылке, если хотите получить более подробную информацию — http://www.php.net/manual/en/book.session.php

Что вы можете сделать, так это использовать start_session() в вашем контроллере и использовать $_SESSION для сохранения данных вашего сеанса и доступа к ним.

Если у вас более одного контроллера, подход отличается, вам нужно создать контроллер в applicationcore вызове MY_Controller вашего проекта (ничего страшного, если вы хотите использовать другое имя). Код контроллера должен быть

 <?php 
class MY_Controller extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        if(!isset($_SESSION))// to avoid A session had already been started - ignoring session_start() 
        { 
           session_start(); 
        }           
    }
}
?>
  

и расширьте все свои контроллеры в вашем applicationcontrollers с помощью этого контроллера, чтобы получить доступ к session глобально

Теперь используйте

$_SESSION[‘data_name’] = $Your_Data;

для установки значений в session

и в функции выхода просто используйте session_unset() для очистки данных вашего текущего сеанса

Надеюсь, это поможет 🙂