HTML Мессенджер как ИИ запрос
Примеры ИИ запросов
ИИ Запрос на генерирование PHP, HTTP, JavaScript кода мессенджера
Напиши код с использованием PHP, HTTP, JavaScript для отправки сообщений на веб страницу.
Необходимы следующие действия:
1. Веб страница send.php с полем для ввода текста для отправки в PHP скрипт http://mysite.com/page.php
Ограничение на размер вводимого текста - 120 символов.
Кнопка для отправки - "Send Message"
По нажатию кнопки введенные данные отправляются, подсчитывается количество отправленных символов и это число в символьном виде записывается в файл count.txt в той же папке.
Данные в файле count.txt при каждом нажатии на кнопку полностью перезаписываются.
Если в папке нет файла count.txt, то он создаётся с доступом на чтение и запись.
2. PHP скрипт page.php , принимающий данные:
- записывает их в файл messages.txt в той же папке. Если файла messages.txt нет, он должен быть создан и должно быть разрешено чтение и запись в файл (атрибуты). В случае успешной записи на эран (в веб страниу) пишет на экран сообзение "Data saved". Если данные записать не удалось, в веб страницу пишется "Data Not Saved".
Данные в файле messages.txt каждый раз перезаписываются полностью.
- читаются текстовые данные из файла received.txt в переменную $cnt
Если файла received.txt нет, он создаётся с правами на чтение и запись и в него записывается текстовое значение 0 и переменной $cnt присваивается значение 0.
Если файл received.txt существует, из него читается значение в переменную $cnt
При записи в файл messages.txt подсчитывается количество записанных символов и это значение добавляется к значению переменной $cnt. Новое значение переменной $cnt записывается в файл received.txt
3. Все используемые файлы .txt содержат текстовые данные. Все операции ввода-вывода в файлы должны начинаться с открытия файлов и завершаться закрытием файлов.
4. Необходимо написать обработку возможных ошибок.
5. Напиши HTML, PHP , JavaScript код веб страницы view.php в стиле веб страницы send.php (из пункта 1) для чтения содержимого файла messages.txt и отображения их на экране в поле ввода данных, где их можно редактировать или копировать
Техническое задание: Разработка системы обмена сообщениями с веб-интерфейсом
1. Проект: Веб-система для отправки, приема и управления текстовыми сообщениями.
2. Цель: Создание трехстраничного веб-приложения (PHP, JavaScript, HTML) с функционалом отправки, серверной обработки и просмотра текстовых данных через работу с файловой системой.
3. Функциональные требования:
3.1. Страница отправки (send.php):
Элементы интерфейса:
Текстовое поле (textarea) для ввода сообщения.
Жесткое ограничение длины вводимого текста на стороне клиента: 120 символов.
Индикатор счетчика введенных символов в реальном времени (формат: X/120).
Кнопка отправки с текстом «Send Message».
Логика на стороне клиента (JavaScript):
Валидация длины сообщения перед отправкой.
Асинхронная отправка данных (POST-запрос) на удаленный скрипт http://mysite.com/page.php.
После отправки — очистка поля ввода и сброс счетчика.
Логика на стороне сервера (PHP в save_count.php):
Получение количества символов отправленного сообщения.
Создание (при отсутствии) или полная перезапись файла count.txt в текущей директории.
Запись в файл count.txt строкового представления числа отправленных символов.
Установка прав доступа на созданный файл: чтение и запись (0666).
Возврат статуса операции (JSON).
3.2. Серверный скрипт обработки (page.php):
Входные данные: Текстовое сообщение, полученное методом POST.
Выходные данные: Текстовый ответ «Data saved» (успех) или «Data Not Saved» (ошибка).
Основной рабочий процесс:
Запись сообщения:
Полученное сообщение полностью перезаписывается в файл messages.txt.
При отсутствии файла — он создается с правами 0666.
Подсчитывается количество записанных символов.
Работа с агрегированным счетчиком:
Чтение текущего значения из файла received.txt в переменную $cnt.
Если файл не существует — создать его с правами 0666, записать значение 0, присвоить $cnt = 0.
Обновление счетчика:
К значению $cnt прибавляется количество символов, записанных на шаге 1.
Новое значение $cnt полностью перезаписывается в файл received.txt.
Обработка ошибок: При любой ошибке ввода-вывода скрипт должен вернуть статус «Data Not Saved».
3.3. Страница просмотра и управления (view.php):
Стиль: Должен соответствовать дизайну страницы send.php.
Элементы интерфейса:
Область (например, textarea) для отображения содержимого файла messages.txt.
Панель информации о файле (путь, размер, время изменения, права доступа).
Переключатель режимов «Просмотр» / «Редактирование».
Набор кнопок управления: «Обновить», «Сохранить», «Копировать в буфер», «Очистить», «Скачать».
Индикатор количества символов.
Область для вывода системных сообщений.
Навигационные ссылки на другие страницы системы.
Функциональность:
Загрузка данных: Асинхронное чтение и отображение текущего содержимого messages.txt при загрузке страницы.
Редактирование: В режиме редактирования пользователь может изменять текст в поле ввода. Кнопка «Сохранить» становится активной только при наличии изменений.
Сохранение: Асинхронная отправка измененного содержимого на сервер для полной перезаписи файла messages.txt с обновлением связанного счетчика в received.txt.
Вспомогательные функции: Копирование содержимого в буфер обмена, скачивание файла, очистка поля ввода.
Валидация: Визуальное предупреждение при превышении лимита в 120 символов.
4. Общие технические требования:
Безопасность и надежность:
Все операции чтения/записи файлов должны явно открывать и закрывать файловые дескрипторы.
Обязательная обработка и логирование возможных ошибок (отсутствие файлов, проблемы с правами доступа, сбои ввода-вывода).
Валидация входных данных как на стороне клиента, так и на стороне сервера.
Архитектура:
Использование асинхронных запросов (Fetch API) для взаимодействия между клиентом и сервером без перезагрузки страниц.
Четкое разделение ответственности: HTML/PHP для разметки и первичной логики, JavaScript для интерактивности.
Работа с файлами:
Все файлы .txt (count.txt, messages.txt, received.txt) содержат только текстовые данные.
Права доступа к создаваемым файлам должны явно устанавливаться на чтение и запись (0666).
5. Дополнительные компоненты (реализованы):
get_messages.php — вспомогательный API-эндпоинт для безопасного чтения содержимого messages.txt.
update_messages.php — вспомогательный API-эндпоинт для безопасной записи в messages.txt с сопутствующим обновлением received.txt.
index.php — центральная индексная страница системы с навигацией и статусом файлов.
Comments
Post a Comment