Php - Создание базовой точки продаж веб-приложения

В настоящее время я практикую php и хочу создать простое веб-приложение POS с системой инвентаризации. Однако я точно не знаю логики обработки самой POS-страницы (см. Пример снимка экрана ниже). Когда я нажимаю на элемент, как я могу получить продукт и опубликовать его в базе данных? Стоит ли хранить его по сессиям или как? Может ли кто-нибудь дать мне хотя бы подробное объяснение? Я попытался найти руководство по созданию динамического POS-терминала, но не видел его. Спасибо!

Php - Создание базовой точки продаж веб-приложения

Лично я не думаю, что это отличный практический проект. никто не стал бы писать POS-систему на php (хорошо, кто-то мог бы, но это далеко не идеальный язык для этого)

user9487972 01.05.2018 23:54
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
1 348
1

Ответы 1

When I click an item, how should I be able to get the product and post it to the database?

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

<a href = "/foo.php?product_id=27" class = "btn">...</a>
<a href = "/foo/product/27" class = "btn">...</a>
<a href = "/foo" data-id = "27">...</a>

<form method = "POST" action = "/foo">
    <button>Product Name</button>
    <input type = "hidden" value = "27" name = "product_id">
</form>

Как указывает Квентин в комментариях ниже, использование реальных ссылок (как в приведенных выше примерах) может иметь множество негативных последствий для чего-то, что будет существовать в общедоступном Интернете. Обычно, если вы делаете запрос на изменение данных, вы делаете это с помощью запроса POST через <form> или javascript.

Здравствуйте, на самой странице POS, следует ли мне сохранять выбранные элементы в сеансе перед тем, как оформить заказ? Кроме того, каким должен быть подход, если я попытаюсь удалить выбранный элемент на странице POS?

coderszx 02.05.2018 00:13

да, обычно вы храните данные типа «Корзина» в сеансе посетителей / клиентов.

nimmneun 02.05.2018 00:14

Не используйте ссылки! Ссылки делают запросы GET! GET-запросы должны быть безопасный. В конечном итоге это вызовет такие проблемы, как «Chrome заметил, что вы часто посещаете страницу« Добавить пиво в корзину », и поместил ее на свою домашнюю страницу… и автоматически получает регулярные обновления для хранения в кеше». Используйте запрос POST. Создайте его с помощью <form>.

Quentin 02.05.2018 00:18

@nimmneun привет, не могли бы вы объяснить, как эти элементы будут установлены, когда я щелкаю элемент, а также сбрасываются, когда я пытаюсь их удалить?

coderszx 02.05.2018 00:23

Спасибо, @Quentin - ссылки имели наибольший смысл, чтобы донести идею "URL с параметрами", но вы абсолютно правы, запросы GET для чего-то, что могло бы изменить данные, - плохая новость.

Alan Storm 02.05.2018 00:26

@coderszx Это похоже на большой объем информации, который нужно передать в вопросе о переполнении стека - возможно, вы захотите найти учебник по Laravel или Symfony. Эти фреймворки созданы для создания приложений, которые вы описываете.

Alan Storm 02.05.2018 00:28

Другие вопросы по теме