У меня странная проблема. Вверху моей страницы есть оператор if, который, кажется, игнорируется, когда внутри него находится команда header (location: xxx).
$check = $authorisation->check();
// i know this results in true by echoing the value
// (you've got to believe me on this one)
if(!$check){
// redirect to message
header("Location: message.php");
exit;
}else{
// do nothing, continue with page
}
Это ВСЕГДА перенаправляет на страницу message.php, независимо от результата $ authorisation-> check ()!
Странно то, что когда я закомментирую команду заголовка и добавлю эхо в оператор if для проверки, все будет работать так, как и ожидалось:
$check = $authorisation->check(); // true
if(!$check){
// redirect to message
echo "you are not welcome here";
}else{
echo "you may enter";
}
Результат "вы можете войти";
Это также работает как ожидалось:
$check = true;
if(!$check){
// redirect to message
header("Location: message.php");
exit;
}else{
// do nothing
}
Это перенаправляет на страницу сообщения только когда $ check = false;
Последнее, что забавно, я испытываю проблему только на 1 сервере, этот же скрипт работает безупречно на testserver.
Любая помощь будет высоко ценится!