I have a form here as below:
<form action="{{ route('benice') }}" method="post">
<label for="select-action">I want to ...</label>
<select id="select-action" name="action">
<option value="greet">greet</option>
<option value="hug">hug</option>
<option value="kiss">kiss</option>
</select>
<input type="text" name="name"/>
<button type="submit">Do a nice action!</button>
<input type="hidden" value="{{ Session::token() }}" name="_token">
</form>
and here I edit the route to catch the URL:
//Post Requests
Route::post('/benice', function(\Illuminate\Http\Request $request) {
if (isset($request['action']) && $request['name']) {
if(strlen($request['name']) > 0) {
return view('actions.nice', ['action'=>$request['action'], 'name'=>$request['name']]);
}
return redirect()->back();
}
return redirect()->back();
});
why do I get this error?
You need to give your route a name. '/benice' is only the url segment. See here how to name routes: https://laravel.com/docs/5.2/routing#named-routes
i am wiring code it will be work
Route::post('/benice', function(\Illuminate\Http\Request $request) { if(isset($request['action']) && $request['name']) { if (strlen($request['name']) > 0) { return view('actions.nice', ['action' => $request['action'], 'name' => $request['name']]); } return redirect()->back(); } return redirect()->back(); })->name('benice');
the route in web.php should be :
Route::post('/benice', function(\Illuminate\Http\Request $request) {
if (isset($request['action']) && $request['name']) {
if(strlen($request['name']) > 0) {
return view('actions.nice', ['action'=>$request['action'], 'name'=>$request['name']]);
}
return redirect()->back();
}
return redirect()->back();
})->name('benice');
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community