Амперсанд не передается get запросе php
Как через get запрос передать параметры?: http://test/test.php?action=check&number=1234&p=100&s=200&n=300
Но в результате получаю только check Амперсанд не передается, как сделать так в параметры принимал символы и строки которые вводиться в браузере
Сам код: `
$param=$_GET["action"];
if (isset($_GET["action"])) {
$url="https://test/index.php?$param";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_USERAGENT, 'User-Agent", "Mozilla/5.0');
echo $url;
$response = curl_exec($ch);
curl_close($ch);
header('Content-Type: application/xml; charset=windows-utf8');
echo $response;
$simple = $response;
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
}
`
Ответы (2 шт):
Автор решения: Евгений Мишанин
→ Ссылка
В массиве $_GET хранятся разбитые по & ключ => значение. Когда пишите $_GET['action'], результатом будет значение check, $_GET['number'] будет 1234 , $_GET['p'] будет 100, $_GET['s'] будет 200, $_GET['n'] будет 300.
Чтобы передавать разные символы их нужно сначала закодировать.
Автор решения: user387662
→ Ссылка
Спасибо, я сделал так:
if ( isset( $_GET['date'] ) ) {
$date = $_GET['date'];
}
if ( isset( $_GET['type'] ) ) {
$type = '&type='.$_GET['type'];
}