Заголовок редиректа PHP не перенаправляет?

0

Я использую следующий код для перенаправления

header('Location: '.$fileID.'php');
}
else if (!isset($_SESSION['login']))
echo '<p>you need to register first.</p>' ;
?>

$ fileID имеет значение bacuse Я использую это значение в другой части кода, и это работает нормально. Я также пробовал

echo '<script>window.location="'.$fileID.'php"</script>';

но получил неподдельную ошибку. Я хотел бы заставить его работать любым из этих методов, но предпочтет метод заголовка. Любая помощь приветствуется.

  • 0
    Что вы видите, если вы используете echo вместо header ? Подходит ли правильное значение? Включены ли отчеты об ошибках?
  • 1
    Если вы получаете ошибку «not found», то это означает, что редирект работает, вы просто неправильно указали путь к файлу. Попробуйте указать полный URL-адрес файла и посмотрите, работает ли он
Показать ещё 1 комментарий
Теги:
redirect
header
login

2 ответа

1
Лучший ответ

Я хотел поставить это в комментарии, но у меня недостаточно репутации :( Anyways попробуйте изменить свой заголовок на это:

header('Location: '.$fileID.'php');

К этому:

header('Location: '.$fileID.'.php');
  • 0
    С заголовком все равно не работает. Тем не менее, он начал работать с кодом сценария эха. Я что-то здесь упускаю?
  • 0
    Вот и все. Рад, что вы это исправили :)
Показать ещё 2 комментария
1
  1. Вы должны exit; после перенаправления с заголовками, потому что скрипт продолжит выполнение иначе, что может привести к непреднамеренным побочным эффектам.

  2. но получил неподдельную ошибку.

URL-адрес кажется неправильным, повторите вывод и посмотрите, соответствует ли оно вашему ожидаемому местоположению.

  • 1
    +1 за exit; - и я думаю, что он, вероятно, скучает по . в расширении .php : echo '<script>window.location="'.$fileID.'.php"</script>';
  • 0
    Я уже использовал выход, но он не перенаправляет.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню