заголовок ('location: ..') не работает

Вы также можете использовать метод compareTo() для сравнения двух строк. Если результат compareTo равен 0, то две строки равны, в противном случае сравниваемые строки не равны.

== сравнивает ссылки и не сравнивает фактические строки. Если вы создали каждую строку, используя new String(somestring).intern(), вы можете использовать оператор == для сравнения двух строк, в противном случае могут использоваться только методы equals () или compareTo.

13
задан Fortisimo 23 August 2010 в 14:36
поделиться

4 ответа

Похоже, что вы передаете текст в браузер перед отправкой header('location'). Вы не можете отправить содержимое в браузер перед выполнением header(), так как ваше эхо заставит отправить заголовок. Закомментируйте эти строки и посмотрите, работает ли это:

// echo $path_choice;
// echo $page_inc;

Теперь ваш заголовок будет отправлен, и вы будете перенаправлены.

16
ответ дан 1 December 2019 в 17:36
поделиться

Работает ли простой сценарий PHP, подобный следующему?

<?php header('Location: /index.php?page=login'); ?>

Вы также должны убедиться, что путь кода с $ path_choice! = Null и $ form-> is_connected () == = true фактически берется, потому что состояния вашей ошибки вообще не устанавливают заголовки HTTP.

3
ответ дан 1 December 2019 в 17:36
поделиться

Я вижу "destroy_session ()", вы где-то используете session_start ()? Убедитесь, что НЕТ содержимого (включая (сеансовые) файлы cookie) уже отправлено.

Советы по отладке: установите error_reporting (E_ALL) (включая E_NOTICE). Это даст вам строку, в которой отправляются заголовки.

Другие источники проблем: - Спецификация - дополнительные строки перед включенным файлом

3
ответ дан 1 December 2019 в 17:36
поделиться

Я считаю, что вам нужно проверить свой if-стек и убедиться, что вы попадаете в каждый из ваших циклов. Поместите эхо после каждого оператора if, чтобы убедиться, что header () даже оценивается, ваш цикл, вероятно, прерывается раньше, чем вы ожидаете.

Мой подозреваемый имеет отношение к использованию null и $ path_choice! = Null. Вы пробовали is_null () или isset (), поскольку они были разработаны специально для проверки того, является ли переменная нулевой. Кроме того, операнд! == может работать и в этом случае, но я не уверен, есть ли это в PHP.

2
ответ дан 1 December 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: