Я создаю веб-сайт. И я создал страницу регистрации. Я хочу обновить мои данные. Когда я нажимаю кнопку «Изменить» в AdminPanel.blade.php, она дает мне все подробности в AdminUpdate.blade.php. После того, как я изменил данные и когда я нажал кнопку «Обновить пользователя», это выдает мне эту ошибку. — «Извините, страница, которую вы ищете, не может быть найдена».
Как я могу это исправить ??
Вот мой AdminPanel.blade.php
<table class="table table-bordered">
<tr>
<td> Name </td>
</tr>@foreach($data as $value )
<tr>
<td> {{ $value->username }} </td>
<td> <a href="edit/{{ $value->id }}"><input type="submit" name="update" value="Update" class="btn-primary"></a> </td>
</tr>
@endforeach
</table>
Вот мой AdminPanelController.php
public function edit($id)
{
$edd = User::find($id);
//dd($edd);
return view('AdminUpdate', ['edd' => $edd]);
}
public function adminedit($id, Request $request)
{
// Add Validation
$users = User::find($id);
$users->username = $request->get('username');
$users->email = $request->get('email');
$users->save();
return redirect('AdminPanel');
}
Вот мой AdminUpdate.blade.php
<form action="adminedit/{{ $edd->id }}" method="post" enctype="multipart/form-data">
{{ method_field('PUT') }}
{{ csrf_field() }}
<div class="form-group">
<label>Username : *</label>
<input type="text" class="form-control" name="username" value="{{$edd->username}}" placeholder="Enter Your Username" required>
</div>
<div class="form-group">
<label>Email : *</label>
<input type="email" class="form-control" name="email" value="{{$edd->email}}" placeholder="Enter Your Username" required>
</div>
<div class="form-group">
<label>Password : *</label>
<input type="password" class="form-control" name="password" value="{{$edd->password}}" placeholder="Enter Your Password" required>
</div>
<div class="form-group">
<label>Upload Profile Picture :</label>
<input type="file" class="form-control-file" name="file_img" aria-describedby="fileHelp">
<small id="fileHelp" class="form-text text-muted">If U Want , U Can Skip Upload A Profile Picture</small>
</div>
<input type="submit" class="btn btn-primary" value="Update User">
</form>
Вот мои маршруты.
Route::get('/edit/{id}', 'AdminPanelController@edit');
Route::put('/adminedit/{id}', 'AdminPanelController@adminedit');
Обновление до @Alex
<form action="/adminedit/2" method="post" enctype="multipart/form-data">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="eECno3BdT86XYW2PfLjxL4ABtekEBLbxFvDmxY9y">
<div class="form-group">
<label>Username : *</label>
<input type="text" class="form-control" name="username" value="head_slsoc_1" placeholder="Enter Your Username" required>
</div>
<div class="form-group">
<label>Email : *</label>
<input type="email" class="form-control" name="email" value="[email protected]" placeholder="Enter Your Username" required>
</div>
<div class="form-group">
<label>Password : *</label>
<input type="password" class="form-control" name="password" value="asd" placeholder="Enter Your Password" required>
</div>
<div class="form-group">
<label>Upload Profile Picture :</label>
<input type="file" class="form-control-file" name="file_img" aria-describedby="fileHelp">
<small id="fileHelp" class="form-text text-muted">If U Want , U Can Skip Upload A Profile Picture</small>
</div>
<input type="submit" class="btn btn-primary" value="Update User">
</form>
Так как вы используете PUT
метод:
{{ method_field('PUT') }}
Измените маршрут на:
Route::put('/adminedit/{id}', 'AdminPanelController@adminedit');
для этого изменения method="post"
to method = «PUT»
и напиши свой маршрут как
Route::put('/adminedit/{id}', 'AdminPanelController@adminedit');