Передать незашифрованный URL из формы

Я установил окно поиска на главной странице, которое должно ссылаться на поиск Opencart, передавая URL.

У меня проблема в том, что результирующий URL-адрес всегда не закодирован:

store/index.php?route%3Dproduct%2Fsearch%26filter_name=test

То, к чему я стремлюсь, это

store/index.php?route=product/search&filter_name=test

Мой текущий код:

<?php
$storesearch = $_REQUEST['store-search'] ;
$filter = 'route=product/search&filter_name';
$filtered = html_entity_decode($filter);
?>
<form id="store" method="GET" action="http://localhost/vinmobile/store/index.php?<?php echo $storesearch; ?>">
<input type="text" id="store-search" name="<?php echo $filtered; ?>" value="Store Search" onclick="this.value = '';">
<input type="submit" name="" value="Search">

</form>
<?php echo $filtered; ?> // Just to show it onscreen to make sure it's written correctly

Я пробовал кодировать, декодировать, html_entity_decode, urldecode, rawurldecode... я пробовал метод формы как GET, POSTЯ пробовал объявление переменной как $_REQUEST, $_GET, $_POST

Каждый раз я все равно получаю URL-адрес, похожий на:

store/index.php?route%3Dproduct%2Fsearch%26filter_name=test

Я уверен, что это что-то простое, что я пропустил, но я "думаю", что перепробовал все и был бы очень благодарен, если бы кто-то мог указать мне правильное направление.

ура

webecho

1 ответ

Решение

Закончился использованием Javascript вместо этого, и он отлично работает:

`<script>
function process()
{
var url="store/index.php?route=product/search&filter_name=" + document.getElementById("filter").value;
location.href=url;
return false;
}
</script>
<form id="store" onSubmit="return process();">
<input type="text" name="filter" id="filter" value="Store Search" onclick="this.value = '';"> 
<input type="submit" value="Search">
</form>`

Спасибо за ваши предложения, хотя

Другие вопросы по тегам