删除前确认甜蜜警报



我正在使用甜蜜警报对话框进行删除确认。

如果用户点击"是"->运行SQL进行删除。

如果用户点击"否"->什么都不做,请记录。

<?php
if(isset($_POST['button_delete'])) {
echo '<script type="text/javascript">'; 
echo 'setTimeout(function (){swal({
        title: "Are you sure?", 
        text:"You will not be able to recover this course!", 
        type: "warning",
        showCancelButton: true,
        confirmButtonColor: "#DD6B55",
        confirmButtonText: "Yes, delete it!",
        cancelButtonText: "No, cancel please!",
        closeOnConfirm: false,
        closeOnCancel: false}, 
        function(isConfirm)
        {
            if(isConfirm)
            {
                swal("Deleted!", "Your file has been deleted.", "success");';
        $deleteCourse = mysqli_real_escape_string($conn, $_POST['button_delete']);
        $user = mysqli_real_escape_string($conn, $_SESSION['session_user']);
        mysqli_query($conn, "DELETE FROM enroll
                            WHERE CourseCode LIKE '$deleteCourse' 
                            AND UserID=$user"); 
echo '
            }
            else
            {
                swal("Cancelled", "Your file is safe.", "error");
            }})}, 100);';
echo '</script>';
?>

无论我单击"是"还是"否",SQL仍将运行并删除记录。单击是/否时,如何使其发挥不同的功能?

谢谢你的帮助。

这是因为PHP代码无论如何都会被执行。PHP不会检查它是否在JavaScriptif括号内。您必须在PHP内部进行检查。

一种方法是在按下确认按钮后,让按钮发出AJAX请求。另一个是在点击时只使用普通的POST(我认为你不想要,因此AJAX会更好)。

最新更新