Здравствуйте! Есть магазин на движке OpenCart. В нем есть модуль для расширения корзины, и в этом модуле есть небольшая проблема - клиент, при оформлении заказа может несколько раз нажать кнопку "Подтвердить заказ", и заказ будет создаваться несколько раз. Пытался сделать блокировку кнопки после её нажатия с помощью JS, не получилось. Сейчас хочу попробовать заблокировать повторное выполнения контроллера, который заносит заказ в базу. Пытался сделать вот так:
function blockScript(){
$lock = fopen('/tmp/lock_file.lock', 'w');
if ( !($lock && flock($lock, LOCK_EX | LOCK_NB)) ) {
sleep(5);
blockScript();
}
}
Не работает, может кто-то сталкивался с такой проблемой?