Передать незашифрованный 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>`
Спасибо за ваши предложения, хотя