Рекомендуемый метод для передачи переменных в HTML / PHP? - PullRequest
1 голос
/ 02 декабря 2010

Привет, у меня просто простой вопрос: Каков рекомендуемый способ передачи переменных при работе на вашем сайте. - получить, разместить, сеанс, куки, скрытые поля, ...

Ответы [ 6 ]

7 голосов
/ 02 декабря 2010
  • GET при отображении данных
  • POST при изменении данных
  • сеанс при хранении данных между запросами, которые не должны оставаться после истечения сеанса
  • база данных (или другое постоянное хранилище) для данных, которые должны находиться между сеансами

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

скрытые поля; опять же, почти никогда, используйте сеанс и сохраняйте данные в безопасности на сервере. Иногда используется как точка хранения данных, собранных с помощью javascript, но это все.

1 голос
/ 02 декабря 2010

Я обычно придерживаюсь некоторых простых правил:

GET - для получения информации.

Например:

  • site.com/articles/category/2 или site.com/articles.php?category=2 показывает мне все статьи для второй категории

  • site.com/search/mike или site.com/search.php?q=mike ищет mike на сайте

POST - для обновленияили вставка данных

Скрытые поля, используемые в формах POST / GET по разным причинам, часто для идентификаторов или что-то подобное

Session - для данных за один сеанс.Сохранение некоторых пользовательских настроек, пользовательских данных.

Cookies - для функции "запомнить меня" и некоторых вещей JS (потому что JS не может получить доступ к данным сеанса)

PS Есть также методы PUT и DELETE, но некоторые общие хостеры не позволяют им ...

1 голос
/ 02 декабря 2010

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

1 голос
/ 02 декабря 2010

Я предпочитаю сессии.Это единственный вариант, который вы упомянули выше, который относится к серверу.

Если вы хотите перенести информацию с вашего клиента на ваш сервер, вы можете использовать POST или GET.Помните, что скрытое поле в конце станет постом переменной get.

Get, Post, Cookies и скрытые поля можно манипулировать относительно просто.Какой вариант вы выберете, убедитесь, что вы всегда проверяете свои переменные, чтобы быть действительными.Введенные пользователем значения никогда нельзя доверять!

0 голосов
/ 02 декабря 2010

Зависит от сайта и когда вам нужно передать данные.

Если на странице загружен файл cookie, если у вас есть сеансы сеанса, если вы отправляете форму (HTTP POST или GET), если отправляете, и вы не хотите, чтобы пользователь видел использование скрытого поля с формой ( это HTTP POST или GET), через URL (GET) и, наконец, если это AJAX, например, веб-приложение, у вас есть несколько вариантов и методов, открытых для использования (HTTP GET, PUT, POST и DELETE - см. RESTful APIS для хорошего примера) ,

Обратите внимание, что со всеми методами HTTP GET, PUT, POST и DELETE вы все еще можете использовать файлы cookie и сеансы

0 голосов
/ 02 декабря 2010

Сессия является наиболее подходящим способом передачи пространственных значений. Но если вы хотите отправить количество переменных за один раз, тогда лучше всего использовать post.

...