2011-01-26 7 views
0

Я пытаюсь выяснить, возможно ли кодирование URL-адресов параметров получения при отправке формы. Я видел несколько ресурсов, где в настоящее время используется кодировка URL, где URL-адрес строится динамическиURL-кодировка в PHP

ex: www.google.com?query=urlencode($query) 

Но как я применить функцию URL-адрес закодировать, если я использую форму и кнопку отправки.

<html> 
     <body> 
       <form action="send.php" method="get"> 
       <input type="input" name="method" value="" /> 
       <input type="submit" name="submit" value="submit"/> 
       </form> 
     </body> 
</html> 
+0

* Если я не понял ваш вопрос *, почему вы не используете urlencode()? – Eray

+0

В ваших комментариях ниже вы никогда не проверяете символы, которые фактически кодируются, например. пространства. Попробуй. «application/x-www-form-urlencoded» - это кодировка по умолчанию. Вы не можете ожидать кодирования всей части запроса (начиная с «?»), А только отдельных значений частей. И обратите внимание, что существуют тонкие (исторические) различия между urlencode и rawurlencode. – initall

ответ

3

Браузер urlencode для вас. Перейдите в Google и найдите «&», и вы увидите «q =% 26» в URL-адресе.

+0

эй, но я все еще могу видеть, что я передал в качестве параметров. Ничего не изменилось. localhost/test.php? opt1 = check_test & subt = subt, это то, что я получаю, когда я отправляю – macha

2

Это делается с помощью браузера, если вы попросите его сделать, рассмотреть вопрос об использовании ENCTYPE = «применение/х-WWW-форм-urlencoded»

<html> 
     <body> 
       <form action="send.php" method="get" enctype="application/x-www-form-urlencoded"> 
       <input type="input" name="method" value="" /> 
       <input type="submit" name="submit" value="submit"/> 
       </form> 
     </body> 
</html> 

отмечают, что это делается по умолчанию в большинстве современных браузеров, если это вы даже не указываете enctype.

+0

эй, но я все еще могу видеть, что я передал в качестве параметров. Ничего не изменилось. localhost/test.php? opt1 = check_test & subt = subt, это то, что я получаю, когда я отправляю – macha

+1

Конечно, вы не увидите, что за то, что вы ввели, вы увидите специальные символы, такие как &, #, и т. д., а другой символы не изменяются вообще – PLuS

Смежные вопросы