Sweetalert подтвердите перед удалением в php - PullRequest
1 голос
/ 10 апреля 2019

Я хочу использовать подтверждение подтверждения Sweetalert. Но я сталкиваюсь с некоторыми проблемами, когда мой код не работает, когда я нажимаю да, ничего не происходит, даже если я уже вызываю свою функцию удаления. Моя единственная проблема - мой SWAL, по моему запросу все работает хорошо. Теперь это мой код

Это мой user_del.php

    <?php session_start();
if(empty($_SESSION['id'])):
header('Location:../index');
endif;
include("../dist/includes/dbcon.php");
$id=$_REQUEST['id'];
$result=mysqli_query($con,"UPDATE accounts_at SET status = 0 WHERE id ='$id'")
    or die(mysqli_error());
        if ($result !== false) {
 echo "<script type='text/javascript'>alert('Successfully archived a account!');</script>";
    echo "<script>document.location='index'</script>";
    }

?>

function archiveFunction(id) {
    event.preventDefault(); // prevent form submit
    swal({
        title: "Are you sure?",
        text: "You will not be able to recover this imaginary file!",
        type: "warning",
        showCancelButton: true,
        confirmButtonColor: '#DD6B55',
        confirmButtonText: 'Yes, delete it!',
        cancelButtonText: "No, cancel plx!",
        closeOnConfirm: false,
        closeOnCancel: false
    }).then(function (isConfirm) {
        if (isConfirm) {
            swal("Deleted!", "Your imaginary file has been deleted!", "success");
            window.location = 'user_del.php?id='+id;
        }
        else {
            swal("Cancelled", "Your imaginary file is safe :)", "error");
        }
    });
};
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
 <a id="removeme" onclick="archiveFunction(1)" href="#">Click to archived the data
</a>

1 Ответ

0 голосов
/ 10 апреля 2019

Это потому, что вы используете $ _REQUEST,

, поскольку вы используете window.location = 'user_del.php?id='+id; GET METHOD, вам нужно использовать $ _GET для получения идентификатора

Пожалуйста, попробуйте это на user_del.php

<?php session_start();
if(empty($_SESSION['id'])):
header('Location:../index');
endif;
include("../dist/includes/dbcon.php");
$id=$_GET['id'];
$result=mysqli_query($con,"UPDATE accounts_at SET status = 0 WHERE id ='$id'")
    or die(mysqli_error());
        if ($result !== false) {
 echo "<script type='text/javascript'>alert('Successfully archived a account!');</script>";
    echo "<script>document.location='index'</script>";
    }

?>
...