【问题标题】:delete if password is correct如果密码正确则删除
【发布时间】:2021-09-12 08:14:08
【问题描述】:

我需要创建一个清除记录但需要密码的条件。

如果密码正确执行delete();

控制器:

      public function eliminar($id){

    $registros = \App\Models\Registro::findOrFail($id);
    $registros->delete();
     
    return redirect('sistema')->with('mensaje', 'Registro Borrado con exito');
}

    public function borrar($id){
        // return $request->all();
        $data = [
            'category_name' => 'datatable',
            'page_name' => 'multiple_tables',
        'has_scrollspy' => 0,
        'scrollspy_offset' => '',
        'fechax' => Carbon::now(),
        'borrar' => \App\Models\Registro::findOrFail($id),
        'password' => 'PASSCODE',
      

        ];
       
    

        return view('borrar')->with($data);
    }

blade.php:

  <h1>Do you want to delete the record?</h1>



<form action="{{ route('eliminar', $borrar) }}" class="d-inline" method="POST">
    @method('DELETE')
    @csrf
    <button type="submit" class="btn btn-danger btn-sm">DELETE</button>


    <div class="form-group col-md-6">
                                                <label for="telefono">Password</label>
                                                <input name="password" type="password" class="form-control" id="telefono"  required>
                                            </div>
</form> 

密码是静态获取的

在密码不一样的情况下如何删除?

请帮忙

【问题讨论】:

  • 密码是指认证用户的密码?
  • 不,是静态密码。在变量中定义。密码将用作删除代码

标签: laravel laravel-5 laravel-8


【解决方案1】:

如果密码是静态保存的,在一个变量中,下面应该为你完成这项工作。

路由/web.php

Route::delete('/path/here', 'SomeController@destroy');

SomeController.php

public function destroy($id)
{
    $model = YourModel::find($id);
    if (! $model) {
        session()->flash('error_message', 'Model not found with the given id: ', . $id);
        return back();
    }

    // $password is the password that you have saved somewhere
    if (request()->password_field_value == $password) {
        $model->delete();

        session()->flash('success_message', 'Model deleted successfully.');
        return back();
    }

    session()->flash('error_message', 'Invalid password. Try again');
    return back();
}

【讨论】:

  • 我可以这样保存静态密码吗?: $ password = ['PASS'];
  • @jererosas 如果存储$password = ['PASS'],它将被视为一个数组。您也可以这样使用它,但是您必须更新检查$password 的条件。应该是$password[0]。我建议不要使用数组,因为其中只有 1 个值。
猜你喜欢
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
相关资源
最近更新 更多