У меня есть некоторые проблемы с моим URL на моем сайте. Я пытаюсь получить ссылку с данными параметрами GET, но я тоже получаю свой предыдущий параметр.
Мой URL выглядит следующим образом:
www.cdwinkel.dev/search-results?genre=Pop & среды = DVD & средний = Single.
Это должно быть:
www.cdwinkel.dev/search-results?genre=Pop & среда = одиночная.
Я бегу следующий код:
$data['url'] = createurl();
function createurl(){
$i = 1;
$string = "?";
$keys = array_keys($_GET);
foreach($_GET as $get){
if($get != ""){
$string .= $keys[$i] . "=" . $get ."&";
$i++;
}
}
$string = rtrim($string, "&");
return $string;
}
$ я = 1, потому что мое первое значение в моем массиве пуста.
И моя кнопка выглядит следующим образом:
<a href='".$data['url'].'&medium='.$names[$i]."'>
Я предполагаю, что я should'nt установить & среднего = $ имена [$ я] в HREF тега, , но я не буду получать новый $. имена [$ i] в моей функции, поэтому я не получу новый URL-адрес, если я его не добавлю.
Я с нетерпением жду вашего ответа.
С уважением, Карского Тэкенс
Поместите ваши параметры в массив, а затем использовать [ 'http_build_query'] (http://php.net/manual/en/function .http-build-query.php) вместо вашей самонаписанной функции (чего не хватает, потому что она неправильно обрабатывает URL-кодирование.) – CBroe
Я пробовал это, но я получаю странное возвращение. Я предполагаю, что это происходит, потому что я создаю свой массив неправильно. Мой массив ввода выглядит так: 0 => 'genre' => 'jazz' ', 1 =>' medium '=>' LP ''. И это должен быть жанр => джаз. Но я не могу это сделать –
Ну, тогда постройте свой входной массив правильно, чтобы начать с ...? – CBroe