Хороший подход к Temp Records PHP DB для пользователя? - PullRequest
0 голосов
/ 26 июля 2011

Я работаю над веб-приложением, которое будет принимать пользовательский ввод, отображать его, а затем заполнять базу данных только при нажатии пользователем кнопки «Сохранить».

Концепция, аналогичная "jsfiddle", где она позволяет вам создавать, но не сохранять до тех пор, пока пользователь не решит, тогда он также создаст пользовательский URL.

Вопрос:

Что будет хорошим подходом для хранения пользовательских записей до их сохранения?

  • Session Array (который получает толчки в db после 'кнопки сохранения')
  • Временные записи таблицы Mysql
  • Cookies / Session Combination

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

Ответы [ 3 ]

1 голос
/ 26 июля 2011

Во-первых, вы не можете хранить произвольные объемы данных в cookie-файлах - используйте Google для RFC (IIRC, ограничение на размер всех cookie-файлов для конкретного хоста).

Вы также не можете использовать временные таблицы mysql - сеанс mysql сеанс выполняется только до тех пор, пока скрипт PHP - в конце сеанса mysql (не сеанс PHP, который является механизмом сохранения данных между вызовамиинтерпретатор), временные таблицы теряются.

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

1 голос
/ 26 июля 2011

Ответ действительно зависит от типа контента, который вы используете. Для длинных сложных форм я бы использовал временную запись в таблице и копировал содержимое при сохранении. Просто убедитесь, что у вас есть система для очистки старых временных записей.

Для менее сложных вопросов я бы просто использовал систему cookie, либо условно, либо использовал PHP $ _SESSION.

0 голосов
/ 26 июля 2011

Вам разрешено использовать HTML5?

  • да : использовать localStorage , который позволяет хранить много данныхна стороне клиента, не требуя дальнейшей обработки на вашем сервере.Он выдержит сбои браузера, не будет зависеть от проблем синхронизации сети и т. Д.
  • нет : вам нужно будет использовать куки-файлы, чтобы сервер запомнил, что было выбранопользователем. Будут ли ваши данные храниться в 4ko?
    • да : тогда вы можете хранить все в куки, поэтому вам не нужно ничего хранить на вашем сервере, если вы хотитеto.
    • no : используйте механизм сеансов PHP, который хранит содержимое сеанса на вашем сервере и использует только cookie, чтобы узнать, где найти данные на сервере.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...