php запрос / post / get / истечение срока сессии - PullRequest
0 голосов
/ 04 октября 2010

Я знаю, что сессия может закончиться, но как насчет переменных $ _REQUEST / $ _ POST / $ _ GET?

Мой вопрос: у меня есть пользователи, которые отправляют информацию, и мне нужно установить Id для этой информации, прежде чем я вставлю ее в базу данных.Теперь я подумал об использовании SESSION, но проблема в том, что если сеанс истекает до того, как пользователь отправил информацию в базу данных, он теряет Id, который мне нужен.Будет ли передача переменной $ _REQUEST / $ _ POST / $ _ GET быть лучшим решением, или я должен просто использовать переменную и перенастроить скрипт?

Кроме того, я использовал SESSION, поскольку его очень просто вызватьвнутри функции, не передавая ее.

function setInfo() {
   // no need to pass I can call from within
   $Id = $_SESSION['Id'];
}

Это хорошая практика?

РЕДАКТИРОВАТЬ: Это было бы лучше, как печенье?

Ответы [ 2 ]

1 голос
/ 04 октября 2010

Мой первый вопрос: вы не можете вставить строку и получить автоинкрементный идентификатор с @@ IDENTITY ?.Вы не можете «хранить» данные в $ _REQUEST, $ _POST или $ _GET, эти данные доступны только с момента, когда клиент отправляет страницу, форму, запрос ссылки на сервер, когда вы заканчиваете и отправляете для вывода полученной страницы,В любом случае, вы, скорее всего, используете пространство $ _SESSION для хранения информации, которую необходимо перенести на другие страницы.

0 голосов
/ 04 октября 2010

Вы можете использовать скрытое поле в форме и сохранить значение скрытого поля в базе данных («возможно или очень вероятно», вам понадобится отдельная таблица для этого). Когда пользователь отправляет форму, вы проверяете, что отправленное значение для скрытой переменной существует в базе данных.

Когда запрос от определенного значения обработан, удалите его из базы данных.

...