routes/web.php
@extends('layout.main')
@section('title','Index Page')
@section('content')
<div class="container">
<div class="row">
<form id="myform" action="{{route('store')}}">
@csrf
<div class="form-group">
<label for="fname">{{ trans('core.fname') }}</label>
<input type="text" class="form-control" id="fname" name="fname"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.lname') }}</label>
<input type="text" class="form-control" id="lname" name="lname"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.email') }}</label>
<input type="text" class="form-control" id="email" name="email"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.password') }}</label>
<input type="password" class="form-control" id="password" name="password"/>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" id="submit" name="submit" value="{{trans('core.submit')}}"/>
</div>
</form>
</div>
</div>
@endsection
contrôleur: UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Users;
class UserController extends Controller
{
public function index()
{
return view('index');
}
public function store(Request $request)
{
$user = new Users();
$user->fname = $request->input('fname');
$user->lname = $request->input('lname');
$user->email = $request->input('email');
$user->password = $request->input('password');
$user->save();
return redirect()->route('index')->with('info','User Added Successfully');
}
}
Vue: index.blade.php
Route::get('/','UserController@index');
Route::post('/index','UserController@store');
Je suis nouveau dans laravel. Dans ce code, je veux simplement effectuer une opération CRUD. Ici seulement, j'effectue une opération d'insertion mais cela me montre une erreur, c'est-à-dire
Route [magasin] non définie. (Vue: C: \ xampp \ htdocs \ myproject \ resources \ views \ index.blade.php).
Je n'arrive pas là où je me trompe? Alors, comment puis-je faire ça? S'il vous plaît, aidez-moi.
Merci
4 Réponses :
essayez ceci
route('index.store')
et sur votre fichier lame
Route::post('/index','UserController@store')->name('index.store');
Changer cela fonctionne parfaitement: -
Route::post('/index','UserController@store')->name('store');
modifier votre web.php
@extends('layout.main')
@section('title','Index Page')
@section('content')
<div class="container">
<div class="row">
<form id="myform" action="{{route('store')}}" method="post">
@csrf
<div class="form-group">
<label for="fname">{{ trans('core.fname') }}</label>
<input type="text" class="form-control" id="fname" name="fname"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.lname') }}</label>
<input type="text" class="form-control" id="lname" name="lname"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.email') }}</label>
<input type="text" class="form-control" id="email" name="email"/>
</div>
<div class="form-group">
<label for="fname">{{ trans('core.password') }}</label>
<input type="password" class="form-control" id="password" name="password"/>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" id="submit" name="submit" value="{{trans('core.submit')}}"/>
</div>
</form>
</div>
</div>
@endsection
ajouter method = "POST" dans votre formulaire qui est manquant
Route::post('/index','UserController@store')->name('store');
public function store(Request $request)
{
$this->validate($request,[
'fname' => 'required',
'lname' => 'required',
'email' => 'required',
'password' => 'required'
]);
$user = new Users();
$user->fname = $request->fname;
$user->lname = $request->lname;
$user->email = $request->email;
$user->password = Hash::make($request->password);
$user->save();
Toastr::success('User Successfully Saved','Success');
return redirect()->route('admin.user.index');
}
Je change
Route :: post ('/', 'UserController @ store')enRoute :: post ('/', 'UserController @ store') -> nom ("store ")mais les données ne sont pas enregistrées dans le tableauquel est votre nom de modèle? une
le nom du modèle est
Users.php@VikasKatariya