2012-03-24 5 views
-3

Я просто пытаюсь написать код для проверки существования сеанса. Если ответ отрицательный, перенаправите страницу на страницу входа. Кроме того, я хочу написать этот код для нескольких веб-сайтов. Так что независимо от того, что имя домена никогда не будет для меня фактом. здесь я пишу некоторые коды:header() php не работает

//$_SESSION['license'] -> this will be created after anyone log in 
//and will be set its value to 15497852. 
if(isset($_SESSION['license']) && $_SESSION['license'] == '15497852'){ 
    // DO SOMETHING 
} else { 
    // here i want to create link like: http://stackoverflow.com/?df=login 
    header('Location: '.$_SERVER['PHP_SELF'].'?df=login'); 
    die(); 
} 

но этот код не работает, где я ничего плохого не вижу.

+0

Есть ли ошибка, записанная на странице, когда это происходит? – NoLifeKing

+0

ошибок не возникает ... –

+0

Вы помещали какой-либо контент на выходе перед вызовом header()? – xea

ответ

0

Я думаю, что URL была проблема ... я проверял коды на моем локальном компьютере, используя wamp-сервер ... , когда я проверяю те же коды на моем основном Linux-сервере, все в порядке ... теперь я не получаю сообщение об ошибке ...

4

От header() doc on php.net

Помните, что заголовок() должна вызываться перед любой фактический вывод направляется, либо с помощью обычных HTML-теги, пустые строки в файле, или из PHP.

Проверить есть ничего выводится до этого кода работает ... даже <html>, например, перед этой линии будет вызывать не работать

+0

нет никаких тегов html и никаких выводов ... нет шансов ... просто перед тем как начать сеанс. –

+0

Вы уверены, что 'session' пуст/не содержит ваше значение, то есть его на самом деле не вызывает код? попробуйте удалить оператор 'if' и просто выполнить строку' header' – ManseUK

+0

Разве этот код не создаст бесконечный цикл? – ManseUK

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