2015-06-03 3 views
1

Чтобы избежать незаконного использования, я проверяю статус входа в начале кода. Я делаю это следующим образом:Заголовок не работает в сочетании с session_start?

if (!isset($_SESSION['loggedin'])){ 
    header('Location:http://www.name.nl/prg/login.php'); 
    exit(); 
} 

Это работает. Но если я сначала использую этот код, это не сработает.

ini_set('session.save_path',realpath(dirname($_SERVER['DOCUMENT_ROOT'])).'/name.nl/tmp'); 
session_start(); 
if (!isset($_SESSION['loggedin'])){ 
    header('Location:http://www.name.nl/prg/login.php'); 
    exit(); 
} 

Я что-то не хватает? Я искал 2 дня, но не могу найти причину/решение. Мне кажется, что функция заголовка должна работать после ini_set и session_start. Я имею в виду, что это обычный код?

+0

Возможный дубликат [Как исправить ошибку «Заголовки уже отправлены» в PHP] (http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – showdev

ответ

1

Попробуйте это сначала: ini_set ('session.save_path', realpath (dirname ($ _ SERVER ['DOCUMENT_ROOT']). '/ Name.nl/tmp'));

(Move круглые скобки)

Попробуйте посмотреть здесь: http://php.net/manual/en/function.session-save-path.php

Не уверен, если это поможет или нет, но это, кажется, связано с где папка сеанса на, а затем указывает на соответствующую директорию/папку ваш код.

Решение, которое сработало для них: ini_set ('session.save_path', realpath (dirname ($ _ SERVER ['DOCUMENT_ROOT']). '/../session'));

Ваш текущий сеанс сохранения:

ini_set ('session.save_path', Realpath (Dirname ($ _ SERVER [ 'DOCUMENT_ROOT'])) '/ name.nl/tmp.);

0

Ну, я нашел причину. У меня было выражение «echo statement» перед инструкцией заголовка. После удаления этого утверждения он работает нормально. Thx для вашего комментария в любом случае!

Смежные вопросы