1
votes

Comment stocker les données de formulaire dans laravel?

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


3 commentaires

Je change Route :: post ('/', 'UserController @ store') en Route :: post ('/', 'UserController @ store') -> nom ("store ") mais les données ne sont pas enregistrées dans le tableau


quel est votre nom de modèle? une


le nom du modèle est Users.php @VikasKatariya


4 Réponses :


0
votes

essayez ceci

route('index.store')

et sur votre fichier lame

Route::post('/index','UserController@store')->name('index.store');

voir https://laravel.com/docs/5.8/routing#named-routes


0 commentaires

0
votes

Changer cela fonctionne parfaitement: -

Route::post('/index','UserController@store')->name('store');


0 commentaires

0
votes

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');


0 commentaires

0
votes
 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');
}

0 commentaires