我正在使用甜蜜警报对话框进行删除确认。
如果用户点击"是"->运行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会更好)。