Intereting Posts
Как установить флаги при использовании функции phpseclib ssh2 exec ()? Как я могу отправить уведомление Firebase Cloud Messaging без использования Firebase Console? С помощью regex заменить систему шаблонов smarty? Есть ли способ переписать LESS-переменную с помощью компилятора LESS в PHP? Могу ли я запускать php-скрипт под разрешениями пользователя с помощью FastCGI и APACHE? «пройти через» загрузку php на s3 амазонки? Что делает функцию PHP mail () настолько медленной? Используйте сеанс входа в Facebook на другой странице Проверка того, что два файла идентичны с использованием чистого PHP? Как Zend \ Db в ZF2 контролирует транзакции? как запустить файл .sh с php? Почему $ _SERVER и $ _SERVER не установлены? Как управлять онлайн-статусом пользователя, когда он закрывает браузер? Темы для PHP, разделяющие объект центрального сокета Почему у меня есть фатальная ошибка: вызов функции-члена для подготовки () к не-объекту?

Передача нескольких значений для одной и той же переменной GET в URL-адресе

Мне интересно, есть ли более чистый способ передать несколько переменных в запросе GET, чем следующее:

http://www.mysite.com/somepage?tags[]=one&tags[]=two&tags[]=three 

Я подумал о следующем:

 http://www.mysite.com/somepage?tags=one,two,three 

Затем используйте explode() чтобы отделить их.

Интересно, видел ли кто-нибудь или использовал лучшее решение?

Использование explode() является надежным только в том случае, если значения каждого тега никогда не будут содержать любую строку, которую вы взрываете (в данном случае «,»).

Я бы сказал, что безопаснее использовать tags[]=X&tags[]=Y

вы можете urlencode (json_encode (yourData)), затем на сервере json_decode

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

Я думаю, что лучшим решением является json_encode() . Но если вы хотите выглядеть красиво (как одна строка). Вы можете кодировать код, чтобы выглядеть как page?tags=HuH&ITBHjYF86588gmjkbkb . Проще всего это сделать

 $tags = base64_encode(json_encode($tags_array)); 

Я предлагаю использовать mod_rewrite для перезаписи как http://www.website.com/tags/tag1-tag2-tag3 или если вы хотите использовать только php http://www.website.com/tags.php?tags=tag1-tag2-tag3. Использование '-' делает его удобным для поиска (как для тегов часто полезно), а также не так часто используется как запятая (думая о самой маркировке).