Вот сайт, который после нажатия «Dodaję» (что означает «добавить» на польском языке) отправляется в корзину на 30 минут: https://remix.pl/
Пока предмет находится в корзине, предмет не может быть куплен другими. Я проверил их греться: когда я удалил куки, предметы были удалены из корзины (поэтому корзина использует сеанс php), и предметы снова были доступны для покупки.
Я хотел бы знать, как они это сделали (их корзина использует база данных хранить дату добавления добавленного элемента на счет 30 минут или скрипт можно сделать другим способом?).
Может быть, это Cron Job или что-то?
Каков наилучший способ сделать это через php, или невозможно сделать что-то подобное с php? Я не имею в виду отображение тикового / проходного времени, потому что для этого нужны jQuery, js и т. Д., А просто суть скрипта.
Я спрашиваю об этом, потому что я создал интернет-магазин для клиента, который продает использованную одежду, например remix.pl, поэтому количество предметов всегда равно 1. Я должен сделать некоторую блокаду для товаров, которые один пользователь добавляет в корзину. добавить тот же элемент для другого пользователя.
Я не против, как это сделать.
И вот еще один вопрос: возможно ли удалить количество товара только тогда, когда товар оплачивается через PayPal, например?
Химия например:
Количество предметов: 99
После добавления в корзину: еще 99
После размещения заказа в базе данных MySQL: еще 99
После оплаты через PayPal, например: 98
Это хорошая практика, и можно ли запустить скрипт после оплаты товара?
Большое спасибо!
Создайте таблицу корзины в вашей базе данных. Когда sy помещает элемент в свою корзину, вставьте также запись в таблицу корзины вместе с отметкой времени записи. Когда вы запрашиваете таблицу продуктов, вы считаете, что эти продукты недоступны, они находятся в таблице корзины, а значение метки времени устарело менее 30 минут. Вы можете игнорировать любые оговорки в корзине, которые старше 30 минут. Вы можете очистить таблицу корзины либо из запланированного скрипта, либо из кода любой регулярно запускаемой страницы.
Относительно вашего второго вопроса: конечно, вы вычитаете количество проданного продукта со склада только после успешного завершения платежа. PayPal API обеспечивает обратный вызов для этого, см. уведомления о мгновенных платежах
Других решений пока нет …