Перенаправление заголовка не работает в PHP - PullRequest
1 голос
/ 09 июня 2010

Эта строка не работает для меня:

header("location:landing.php?id=md5($_REQUEST['user'])");

Мне нужно передать переменную id.Как мне это сделать?

Ответы [ 6 ]

11 голосов
/ 09 июня 2010

Попробуйте

header('location:landing.php?id=' . md5($_REQUEST['user']));

Функция md5 не должна быть в кавычках.

4 голосов
/ 09 июня 2010
$id = md5($_REQUEST['user']);
header("location: landing.php?id={$id}");

или

header("location: landing.php?id=" . md5($_REQUEST['user']));

"md5" обрабатывается как строка в вашем текущем коде, удалите его из кавычек.

2 голосов
/ 09 июня 2010

Только двойная кавычка может быть преобразована в двойные кавычки (например: "$ id").Код должен быть сначала оценен, а затем вы добавляете результат в вашу строку.

header('Location: landing.php?id=' . md5($_REQUEST['user']));

В написании заголовка также была опечатка, имя заголовка HTTP должно начинаться с заглавной буквыпробел после ":".Я не уверен на 100%, что так должно быть, но это стандартный способ сделать это.

2 голосов
/ 09 июня 2010
header("Location: landing.php?id=".md5($_REQUEST['user']));
0 голосов
/ 09 июня 2010

!

Примечание: HTTP / 1.1 требует абсолютный URI в качестве аргумента для »Местоположение: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI.Обычно вы можете использовать $ _SERVER ['HTTP_HOST'], $ _SERVER ['PHP_SELF'] и dirname (), чтобы самостоятельно создать абсолютный URI из относительного:

0 голосов
/ 09 июня 2010

в конкатенеате строки php с использованием оператора .

должно быть

header("location:landing.php?id=".md5($_REQUEST['user']));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...