#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()
для очистки данных вашего текущего сеанса
Надеюсь, это поможет 🙂