I've been trying to update user address with click on the button, but the problem is that after submitting none of the values in DB changes, but also without getting any error returned, it just gets me back to the "carnetadresse" view with the old values.
I've tried to use {{Form}}
, but it returns an error that I think it's not supported anymore.
The routes
Route::resource('adresse','AdresseController');
Route::get('/carnetadresse','AdresseController@index');
Route::put('/carnetadresse','AdresseController@update');
My AdresseController
public function index()
{
$user = auth()->user();
return view('pages.carnetadresse')->with('id',$user);
}
public function update(Request $request, $id)
{
$this->validate($request, [
'pays'=>'required',
'ville'=>'required',
'adresse'=>'required',
'codepostal'=>'required',
]);
$user = auth()->user();
$user->pays = $request->input('pays');
$user->ville = $request->input('ville');
$user->adresse = $request->input('adresse');
$user->codepostal = $request->input('codepostal');
$user->save();
return redirect('/carnetadresse')->with('success','adresse updated');
}
carnetadresse.blade.php
<div class="col-main grid12-9 grid-col2-main in-col2">
<div class="my-account">
<div class="page-title adresse-title">
<h1>Mon Adresse</h1>
</div>
<form>
<form action="POST" hidden="_method" value="PUT">
{{ method_field('PUT') }}
@csrf
<div class="fieldset">
<input type="hidden" name="form-key" value="">
<ul class="form-list">
<li class="wide pays">
<label for="pays" class="required">
Pays
<em>*</em>
</label>
<div class="input-box">
<input type="text" name="pays" id="pays" data-beaver-id="nom-particulier" value="{{$id->pays}}" title="Pays" maxlength="255" class="input-text required-entry">
</div>
</li>
<li class="wide ville">
<label for="ville" class="required">
Ville
<em>*</em>
</label>
<div class="input-box">
<input type="text" name="ville" id="ville" data-beaver-id="nom-particulier" value="{{$id->ville}}" title="Ville" maxlength="255" class="input-text required-entry">
</div>
</li>
<li class="wide adresse">
<label for="adresse" class="required">
Adresse
<em>*</em>
</label>
<div class="input-box">
<input type="text" name="adresse" id="adresse" data-beaver-id="nom-particulier" value="{{$id->adresse}}" title="Adresse" maxlength="255" class="input-text required-entry">
</div>
</li>
<li class="wide codepostal">
<label for="codepostal" class="required">
Code Postal
<em>*</em>
</label>
<div class="input-box">
<input type="text" name="codepostal" id="codepostal" data-beaver-id="nom-particulier" value="{{$id->code_postal}}" title="Code Postal" maxlength="255" class="input-text required-entry">
</div>
</li>
</ul>
<div class="buttons-set">
<button type="hidden" title="Soumettre" class="button" name="_method" method="PUT" style="margin-top: 10px;">
<span>
<span>Soumettre</span>
</span>
</button>
</div>
</div>
</form>
</div>
</div>
How do I solve this problem?