PHP, $_GET. Как добавить дополнительный параметр к запросу?

программирование php веб get

Как в PHP добавить дополнительный параметр к запросу? Пример:
Есть строки
index.php
index.php?act=reg
page.php?id=56
Нужно к любой из них добавить еще параметр методами PHP (т.е. нам, в общем, все равно, что за строка - главное проверить есть ли уже вызов первого параметра символом "?" или нет), чтобы получить запросы вида:
index.php?secret=yes
index.php?act=reg&activate=true
page.php?id=56&sub=2
Ответы:
эмм, ну например так
$url_parts=explode('?',старый_урл);
$get_params=explode('&',$url_parts[1]);
$get_params[]=новый_параметр;
$url=$url_parts[0].'?'.implode('&',$get_params);
Вы имеете в виду, что надо просто обработать строку, независимо от того, что она означает?
if (strpos($mystring, '?')) {
 $mystring .= '&';
} else {
 $mystring .= '?';
}
$mystring .= "newparam=value";
в том-то и дело, что нужно методами PHP этот старый урл узнать.
в том-то и дело, что нужно методами PHP этот старый урл узнать.
в том-то и дело, что нужно методами PHP этот старый урл узнать.
сорри за флуд, глюкнул браузер. malek, да, но $mystring как узнать?
Узнать урл текущей страницы?
Вот он:
$_SERVER["REQUEST_URI"]
2 malek
тогда уж
if (strpos($mystring, '?')===false) {
потому что представьте, что '?' в начале строки.
bjaka.max, да, warning не прочитал. Спасибо, буду помнить.
Всем спасибо, решение:
Кстати, в чем разница между == и ===?
а если урл будет '?a=1' то получится  ?a=1?test=1'
используй лучше этот вариант:
$url_parts=explode('?',$_SERVER["REQUEST_URI"]);
$get_params=explode('&',$url_parts[1]);
$get_params[]="test=1";
$url=$url_parts[0].'?'.implode('&',$get_params);
=== проверяет, что типы совпадают.
Как написал bjaka.max, если строка начиналась со знака вопроса, то strpos($mystring, '?') вернёт 0. И если это использовать в условии, то 0 будет преобразован в false. Поэтому надо различать ситуации, когда вернули 0 и когда вернули false.


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.