📜  删除确认销毁 laravel - PHP (1)

📅  最后修改于: 2023-12-03 15:22:43.907000             🧑  作者: Mango

删除确认销毁 Laravel - PHP

在应用程序开发中,删除操作是十分常见的,但往往会因为随手删除导致不可挽回的后果。因此,我们需要一个删除确认功能来保障用户操作的安全性。本文将介绍如何在 Laravel 中实现删除确认功能。

实现步骤
一、添加删除确认表单

我们需要创建一个表单,显示要删除的数据信息,并提供确认、取消按钮。在 Laravel 中,我们可以使用 Blade 模板引擎来实现:

<form action="{{ route('delete.post', $post->id) }}" method="POST" id="delete-form">
    @csrf
    @method('DELETE')
    <p>您确定要删除 "{{ $post->title }}" 这篇文章吗?</p>
    <button type="submit" class="btn btn-danger">确认删除</button>
    <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
</form>
二、添加 JavaScript 确认框

我们需要添加一个 JavaScript 确认框,用于提示用户是否确认删除操作。我们可以使用 Bootstrap 的模态框来实现:

<script>
    $('#delete-form').submit(function(event) {
        event.preventDefault();
        if (confirm('您确定要删除这篇文章吗?')) {
            this.submit();
        }
    });
</script>
三、定义路由和控制器

我们需要定义一个路由,用于接收 POST 请求,然后再将其重定向到具体的控制器方法中:

Route::delete('/posts/{post}', 'PostController@destroy')->name('delete.post');

在控制器中,我们需要获取要删除的数据,执行删除操作,并重定向到成功或失败页面:

public function destroy($id)
{
    $post = Post::findOrFail($id);

    if ($post->delete()) {
        return redirect()->back()->with('success', '文章删除成功!');
    } else {
        return redirect()->back()->with('error', '文章删除失败!');
    }
}
总结

以上就是在 Laravel 中实现删除确认功能的方法。通过添加删除确认表单、JavaScript 确认框以及定义相应的路由和控制器,我们可以保障用户操作的安全性,防止不必要的误操作。