Перенаправление на страницу не работает, если построено с переменной - PullRequest
0 голосов
/ 26 августа 2011

Почему это не работает и приводит к неправильному перенаправлению страницы в Firefox

$page_name = "home.php";

if (true) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
};

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Изменение

if (true) {

до

if (false) {

и удалите точку с запятой в конце оператора if.

Результат:

$page_name = "home.php";

if (false) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
}

Если это не работает, также измените вызовы заголовков, следуя советам DaveRandom.

0 голосов
/ 26 августа 2011

Попробуйте сделать это правильно - этот метод - ленивый редирект:

header('HTTP/1.1 302 Found');
header("Location: http://mysite.com/pages/$page_name");

Обратите внимание на интервал и тот факт, что я явно выбрал код ответа.

Хотя нет реальной причины, по которой вы не работали, а также PHP должен выяснить тот факт, что вы делаете перенаправление, если вы установили заголовок Location: и код 302, всегда лучше делайте это правильно, чтобы вы знали, что это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...