Вопросы сессии - PullRequest
       3

Вопросы сессии

1 голос
/ 10 июля 2010

У меня проблемы с пониманием того, как мне нужно это сделать:

  • У меня есть список элементов на моей домашней странице, и когда пользователи нажимают на него, я перехожу на страницу, где я спрашиваю имя и идентификатор электронной почты (оба поля являются необязательными), а когда пользователи нажимают кнопку Отправить, я перехожу к другим страница, где они могут увидеть все детали. причина того, что поля name и emails хранят ip-адрес в mysql, а также url (содержит идентификатор элемента и дату), на котором они находятся.

Для этого у меня возникли проблемы с выполнением в программе.

  1. Я думаю начать сеанс / сохранение файла cookie, как только они нажмут на кнопку submit. после этого я хочу сохранить IP-адрес, идентификатор элемента, дату и имя / адрес электронной почты (если они были заполнены) в mysql db
  2. Храните все в базе данных mysql

Кроме того, как я могу избежать того, чтобы кто-либо заходил на страницу напрямую (ту, которую я показываю после отправки)? Можно ли каким-то образом включить некоторые условия на эту страницу и перенаправить их на страницу входа в систему?

Пожалуйста, помогите мне.

привет

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

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

Вы также можете сделать это с помощью POST, использовать страницу как действие для вашей формы, и всякий раз, когда кто-то обращается к этой странице, вы проверяете, установлены ли переменные $ _POST (из формы).

1 голос
/ 10 июля 2010

Поскольку данные кажутся необходимыми только для немедленного использования, я думаю, что в этом случае правильный ответ - сеанс.
Если бы вы тогда использовали запрос к базе данных, какие данные вы бы сохранили, чтобы связать данныеправильному пользователю?Как вы сказали, обе запрашиваемые вами данные являются необязательными;даже в том случае, если не будет необязательным, как вы справляетесь с делом, когда два разных пользователя сообщают одно и то же имя и адрес электронной почты (это также может быть один и тот же пользователь, использующий два разных браузера).

Для таких временных данныхсеанс всегда лучший выбор (за исключением нескольких исключений, может быть).

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

Для получения дополнительной информации о сеансах см. PHP:Сессии

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