亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 6:在仍然登錄的情況下刪除用戶

Laravel 6:在仍然登錄的情況下刪除用戶

PHP
牛魔王的故事 2022-12-03 09:47:33
目前我正在開發一個網站。我正在為我的一項功能開發 CRUD,并且在刪除點之前沒有遇到任何問題。我使用 bootstrap 模式窗口作為彈出的警告窗口,以闡明您希望刪除您的d()}}                <div class="form-group">                    <label for="name">Account Email:</label>                    <input type="text" name ="email" value="{{$user -> email}}" class="form-control" readonly>                    <div class="form-group">                    <div class="text-centre">                    <p></p>                    <button type="button" data_userid="{{$user->id}}" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal">                        Delete                    </button>                    </div>                    </form>                </div>                </div>            </div>        </div>    </div></div><div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">  <div class="modal-dialog" role="document">    <div class="modal-content">      <div class="modal-header">        <h5 class="modal-title" id="deleteModalLabel">Are you sure?</h5>        <form action="{{ route('delete', $user)}} " method="post">        {{method_field('delete')}}        {{csrf_field()}}        <button type="button" class="close" data-dismiss="modal" aria-label="Close">          <span aria-hidden="true">&times;</span>        </button>      </div>      <div class="modal-body">        Are you sure you want to permanetly delete your account?      </div>      <div class="modal-footer">        <button type="button" class="btn btn-primary" data-dismiss="modal">No, cancel</button>        <button type="submit" class="btn btn-danger">Yes, delete my account</button>      </div>      </form>    </div>  </div></div>另外,每當我嘗試從帶有路由的下拉菜單訪問頁面時 <a class="dropdown-item" href="{{ route('users.destroy', $user)}}">                                        Delete Account我遇到了一個空白頁面,我確信這取決于參數。所以澄清一下,每當模式窗口彈出并且用戶點擊“是,刪除我的帳戶”時,什么都沒有發生,窗口保持打開狀態,我到頁面的路由 {{ route('users.destroy', $user)}} 會導致空白頁面。任何幫助是極大的贊賞!
查看完整描述

4 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

這就是我們嘗試刪除 Laravel 的方式


public function destroy(User $user)

{  

    $user->delete();

    return Redirect::route('home')->with('global', 'Your account has been deleted!');        

}


查看完整回答
反對 回復 2022-12-03
?
森欄

TA貢獻1810條經驗 獲得超5個贊

改變

<form action="{{ route('delete', $user)}} " method="post">

<form action="{{ route('delete', ['user' => $user]) }}" method="post">

在模態。

<a class="dropdown-item" href="{{ route('users.destroy', $user)}}">Delete Account </a>

不起作用,因為它是 GET 請求。刪除應該是一個 DELETE 請求。

所以你應該點擊打開模態;

<a href="#" data-toggle="modal" data-target="#deleteModal" class="dropdown-item"> Delete Account</a>


查看完整回答
反對 回復 2022-12-03
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

根據您的配置,您似乎為表單和錨點使用了錯誤的別名。你應該切換它們。

這是你的路線配置:

Route::get('/users/delete', '[...]')->name('delete'); 
Route::delete('admin/users/{user}', '[...]')->name('users.destroy');

這是你應該如何使用它們:

  • <a/>應該使用route('delete')

  • <form/>應該使用route('users.destroy', ['user' => $userId]).

您的刪除操作應如下所示:

  • 刪除用戶

  • 注銷當前用戶

  • 重定向到某處

  public function destroy($id)

  {  

      User::find($id)->delete();

      Auth::logout();


      return Redirect::route('home')

          ->with('global', 'Your account has been deleted!');


  }

希望這可以幫助。


查看完整回答
反對 回復 2022-12-03
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

你可以使用 ajax 和 sweetalert 來做到這一點,它對 ui 更具交互性


在你的刀片文件中


@foreach($user as $u)

   <a href="javascript:void(0);" classs="delete" data-id="{{$u->id}}">Delete</a>

@endforeach

在你的刀片底部你可以調用ajax請求


<script>

  $(document).on('click','.delete',function()

  {

    var id = $(this).data('id');

    swal({

        title: 'Are you sure you want to delete this?',

        type: "warning",

        showCancelButton: true,

        confirmButtonClass: "btn btn-danger m-btn m-btn--pill m-btn--icon m-btn--air",

        confirmButtonText: '<span><i class="la la-thumbs-up"></i> Yes, Delete it!</span>',

        cancelButtonClass: 'btn btn-secondary m-btn m-btn--pill m-btn--icon m-btn--air',

        cancelButtonText: '<span><i class="la la-thumbs-down"></i>No, thanks</span>',

    }).then(function(e){

        if(e.value){

            $.ajax({

                url:"{{route('admin.document.delete')}}",

                type:'POST',

                headers:{ 'X-CSRF-Token' : jQuery('meta[name=csrf-token]').attr('content') },

                dataType:'json',

                data:{'id':id,_token: '{{csrf_token()}}'},

                success:function(response){   

                    var msg = response.msg;

                    if(response.status=='success'){

                        //here you can do whatever after delete msg

                        //for reload u can use - (location.reload);

                    }

                },


            });

        }

    });

}); 

</script>

最后在你的控制器中


public function destroy(Request $request)

{

   $id=$request['id'];

   $delete = manageMultipleDocument::find($id)->delete();

//optional

   $flashArr = array(

            'msg' => 'Document deleted successfully.',

            'status' => 'success'

        );

//optional

   $request->Session()->flash('succ_message',$flashArr);

//Required return any thing

   return $flashArr;

}


查看完整回答
反對 回復 2022-12-03
  • 4 回答
  • 0 關注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號