OK Ive написал эту опрятную javascript «вещь», используя jquery и ajax. Все это основано на идее, что div имеет атрибут, который позволяет писать внутри div. (Contenteditable = истина). Я подумал, что было бы здорово сделать из этого типа типа чата, а святая корова – сделать что-то классное (*), но у меня есть проблема.
Используя ajax, я отправляю на php-страницу, которая берет опубликованные данные (x, y, text, id) и вставляет его в JSON-подобный объект. Если я не буду писать в базу данных (я думаю, слишком много переполнения), как я могу сохранить эти данные? См. Проблему? : Переменные на странице php, по сути, являются парами после того, как страница запустилась, поэтому мой javascript-вызов ajax для retrieveNewJSON () ничего не нашел.
* использование эффектов jQuery и настройки цветов. Я имею переменный текст, который прокручивается и испаряется, например, матричный стиль. Кроме того, курсор помещается в div, где пользователь нажимает.
Вы должны где-то хранить данные. Если вы не хотите использовать полномасштабную базу данных, вы можете хранить их в плоских файлах (т. Е. Txt) и использовать функции файлов PHP для обработки файлов.
Конечно, это не очень масштабируемо, и я настоятельно рекомендую использовать базу данных, если вы собираетесь использовать это много.
Вы можете использовать файлы cookie (на стороне клиента) или переменные сеанса (на стороне сервера), или вы могли бы записать в файл для более длительного хранения.
Вы можете использовать переменную $_SESSION
для сохранения данных.
// Call at start of PHP script session_start() //.... // Store object $_SESSION['obj'] = json_encode(obj);
в вашем сценарии вытаскивания:
// Call at start of PHP script session_start() // Retrieve object echo $_SESSION['obj'];
Обратите внимание, что при использовании сеансов вы должны убедиться, что вызываете session_start()
в верхней части каждого скрипта php, который использует сеанс.
Я бы не рекомендовал пытаться сохранить это в файле, если вы не поддерживаете очень малое количество пользователей и предприняли правильные шаги по очистке данных для физической записи файлов на сервер. Если вам нужно, чтобы это продолжалось до окончания сеанса, вы должны использовать базу данных.
Стоит отметить, что вы не можете обновить сеанс пользователей без какой-либо другой централизованной системы хранения. Если у вас нет какой-либо настройки длинного опроса / кометы, у вас должно быть какое-то центральное место хранения. Что-то, на что я бы посмотрел, было бы memcache .
Если вы хотите избежать использования механизма базы данных (в любом случае для приложения с несколькими чтениями и многократной записью, например, в комнате для чата) будет выглядеть простой хранилище объектов, например memcache, couch или mongo. Файлы также являются допустимым вариантом, если вы храните их вне корневого веб-узла с соответствующими разрешениями. Итог: вам нужно использовать какой-то механизм хранения на задней стороне, чтобы сделать данные доступными для нескольких сеансов пользователя.
Если это просто техническая демонстрация или доказательство концепции, я бы не стал слишком беспокоиться о накладных расходах сразу.