Амперсанд не передается 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'];
}
→ Ссылка