2010-07-29 1 views
0

У меня есть ссылка на моей странице, которая выглядит так: a href=?command=value, но когда я нажимаю ссылку, и страница перезагружает ее, сначала загружайте другую, включая php файл. Это перенаправление пользователя на основе файла cookie. например: header('Location: ?lang='.$redirect); Итак, когда страница загружает команду? command = значение ушло.Как получить значения из url и добавить их к существующим значениям в url (php)

мне нужно добавить &command=value в переадресации включаемый файл, так что URL выглядит следующим образом: ?lang=en_US&command=value

+1

Так почему бы вам просто не сделать заголовок ('Location:? Lang ='. $ Redirect. '& Command = value'); '? – ubiquibacon

+0

Заголовок местоположения должен содержать ** полный URL **, включая «http: //» и доменное имя! Он может работать без него, потому что браузеры терпимы, но это не предполагается, и вы не должны рассчитывать на это. – deceze

ответ

7

Мне нравится функция http_build_query больше всего:

$variables = $_GET; 
$variables['lang'] = $redirect; 
header('Location: ' . http_build_query($variables)); 

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

+0

+1 Красиво написано. Особенно нравится, как он перезаписывает переменную lang. –

0

Изменить редирект линии к этому:

header('Location: ?lang='.$redirect.'&command='.$_GET['command']); 
0

Вы должны были бы сделать что-то вроде:

header('Location: ?lang=' . $redirect . '&' . $_SERVER['QUERY_STRING']);

Приведенное выше будет содержать любые данные, связанные с галсом. codersarepeople выполнит только команду.

Удачи вам!

EDIT:

Один потенциальный вниз сторона к этому будет, если языки уже в QUERY_STRING, он также будет добавляться, так что будьте осторожны, что, в зависимости от применения.

 Смежные вопросы

  • Нет связанных вопросов^_^