PHP MYSQL Очистить данные корзины из базы данных, если проверка прошла успешно

0

Я пытаюсь очистить/удалить данные корзины из базы данных, если проверка прошла успешно.

это форма на моем сайте Изображение 174551

и это процесс продолжения проверки кнопки

<?php
function emptyCart(){
    // delete query
    $cID = $_SESSION['cID'];
    $query = "DELETE FROM cart WHERE customer_id = $cID";
    $stmt = $this->conn->prepare($query);
 
    if($stmt->execute()){
        return true;
    }
 
    return false;
}

if (isset($_POST['checkout-submit'])) {
    $cID = $_POST['customer_id'];
    require 'dbh.inc.php';

    $order_Fname = mysqli_real_escape_string($conn, $_POST['order_Fname']);
    $order_Lname = mysqli_real_escape_string($conn, $_POST['order_Lname']);
    $order_name = $order_Fname .' '. $order_Lname;

    $order_number = 'PSAU000';

    $order_phone = mysqli_real_escape_string($conn, $_POST['order_phone']);
    $order_email = mysqli_real_escape_string($conn, $_POST['order_email']);

    $order_Addrs = mysqli_real_escape_string($conn, $_POST['order_Addrs']);
    $order_Addrs2 = mysqli_real_escape_string($conn, $_POST['order_Addrs2']);
    $pro = mysqli_real_escape_string($conn, $_POST['pro']);
    $mun = mysqli_real_escape_string($conn, $_POST['mun']);
    $bar = mysqli_real_escape_string($conn, $_POST['bar']);
    $order_address = $order_Addrs .', '. $order_Addrs2 .', '. $pro .', '. $mun .', '. $bar;
    
    $sql = "INSERT INTO orders (order_number, order_name, order_phone, order_email, order_address, order_date)
    VALUES ('$order_number','$order_name','$order_phone','$order_email','$order_address', NOW())";

    if ($conn->query($sql) === TRUE) {
        $msg1 = "Item-Ordered-Succesfully.";
        header("Location: ../checkout.php?msg=$msg1");
        emptyCart();
        exit();
    } else {
        $msg2 = "Please-try-again.";
        header("Location: ../checkout.php?msg=$msg2");
        exit();
    }
    
}
else {
    header ("Location: ../index.php");
    exit();
}

этот процесс вставит значение формы в ТАБЛИЦУ ЗАКАЗОВ, но в корзине все еще есть продукт.

  • 0
    почему у тебя проблемы? Что ты пытаешься? Используете ли вы транзакции (т.е. вы, вероятно, должны быть)? Для 2-й проблемы вы видели синтаксис INSERT ... SELECT ?
  • 0
    Я пытаюсь очистить данные корзины после их успешного оформления на моей странице.
Показать ещё 10 комментариев
Теги:
shopping-cart

1 ответ

0

Так что я смог удалить данные в моем столбце CART, когда проверка прошла успешно, добавив несколько запросов в моем $ sql.

<?php

if (isset($_POST['checkout-submit'])) {
    $cID = $_POST['customer_id'];
    require 'dbh.inc.php';

    $order_Fname = mysqli_real_escape_string($conn, $_POST['order_Fname']);
    $order_Lname = mysqli_real_escape_string($conn, $_POST['order_Lname']);
    $order_name = $order_Fname .' '. $order_Lname;

    $order_number = 'PSAU000';

    $order_phone = mysqli_real_escape_string($conn, $_POST['order_phone']);
    $order_email = mysqli_real_escape_string($conn, $_POST['order_email']);

    $order_Addrs = mysqli_real_escape_string($conn, $_POST['order_Addrs']);
    $order_Addrs2 = mysqli_real_escape_string($conn, $_POST['order_Addrs2']);
    $pro = mysqli_real_escape_string($conn, $_POST['pro']);
    $mun = mysqli_real_escape_string($conn, $_POST['mun']);
    $bar = mysqli_real_escape_string($conn, $_POST['bar']);
    $order_address = $order_Addrs .', '. $order_Addrs2 .', '. $pro .', '. $mun .', '. $bar;
    
    
    $sql = "INSERT INTO orders (order_number, order_name, order_phone, order_email, order_address, order_date)
    VALUES ('$order_number','$order_name','$order_phone','$order_email','$order_address', NOW()); DELETE FROM cart WHERE customer_id = $cID";

    // $sql. = "DELETE FROM cart WHERE customer_id = $cID"; 

    if ($conn->multi_query($sql)) {
        $msg1 = "Item-Ordered-Succesfully.";
        header("Location: ../checkout.php?msg=$msg1");
        exit();
    } else {
        $msg2 = "Please-try-again.";
        header("Location: ../checkout.php?msg=$msg2");
        exit();
    }
    
}
else {
    header ("Location: ../index.php");
    exit();
}

спасибо за предыдущие комментарии, я постараюсь изучить эти PDO и о внедрении SQL.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню