删除前的甜蜜警报确认

时间:2016-07-27 11:28:59

标签: php sweetalert

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

如果用户点击“是” - >运行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仍将运行并删除记录。单击是/否时如何使其执行不同的功能

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

那是因为无论如何都会执行PHP代码。 PHP没有检查它是否在JavaScript中如果括号。你必须在PHP内部进行检查。

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