【问题标题】:Sweet Alert Confirm Before DeleteSweet Alert 删除前确认
【发布时间】:2016-07-27 11:28:59
【问题描述】:

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

如果用户点击“是” -> 运行 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 sweetalert


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多