Могу ли я отправить любой символ методом get в php? - PullRequest
2 голосов
/ 17 ноября 2010

Я создаю небольшой поисковый скрипт для своего сайта. Мне нужно отправить данные методом get, потому что POST будет очень грязным, так как мне придется показывать много страниц с результатами поиска.

Итак, мой вопрос: могу ли я использовать метод get напрямую? значит мне нужно кодировать URL или любую другую вещь? Я проверил это в современных браузерах. Работает просто отлично ..

Спасибо

Edit: Urlencode используется при помещении переменных в URL.

Я отправляю форму поиска с методом method = 'get'. Затем я получаю переменную, выполняю поисковый запрос и создаю новые ссылки на страницы с переменными данными. - Длина, Размер не является проблемой. U люди, предлагающие мне использовать urlencode func. при создании только новых ссылок ???

Ответы [ 3 ]

4 голосов
/ 17 ноября 2010

Вы можете и должны использовать urlencode () для данных, которые, возможно, содержат пробелы и другие недружественные для URL символы.

http://php.net/manual/en/function.urlencode.php

2 голосов
/ 17 ноября 2010

Вы должны использовать urlencode($variable) ( Link ) перед отправкой переменной (даже если об этом обычно заботится браузер) и urldecode ($variable) ( Link ) после ее получения, таким образом вы можете быть уверены, что специальные символы будут обрабатываться правильно.

2 голосов
/ 17 ноября 2010

Вам нужно URL Кодировать параметры в URL, например, http://www.example.com/MyScript.php?MyVariable=%3FSome%20thing%3F.

Имейте в виду, что существует ограничение на объем передаваемых данных через GET - более ограниченно для старых браузеров. Если я правильно помню, у IE6 есть ограничение в 1024 символа в URL, поэтому, если вы думаете, что собираетесь пойти дальше, рассмотрите возможность использования POST, или вы можете исключить некоторых пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...