【问题标题】:How to store form data in laravel?如何在 laravel 中存储表单数据?
【发布时间】:2020-02-08 00:00:14
【问题描述】:

路由/web.php

Route::get('/','UserController@index');
Route::post('/index','UserController@store');

控制器: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');
    }
}

查看:index.blade.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

我是 laravel 的新手。在这段代码中,我只是想执行 CRUD 操作。这里只有我正在执行插入操作,但它显示了一个错误,即

路线 [商店] 未定义。 (看法: C:\xampp\htdocs\myproject\resources\views\index.blade.php)。

我没有找到我做错的地方?那么,我该怎么做呢?请帮帮我。

谢谢

【问题讨论】:

  • 我将Route::post('/','UserController@store') 更改为Route::post('/','UserController@store')-&gt;name("store") 但数据未保存在表格中
  • 你的型号是什么?一个
  • 型号名称是Users.php@VikasKatariya

标签: php laravel


【解决方案1】:

更改您的web.php

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

在您的表单中添加method="POST" 缺少

@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

【讨论】:

    【解决方案2】:

    试试这个

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

    在你的刀片文件上

    route('index.store')
    

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

    【讨论】:

      【解决方案3】:

      改变这个完美的工作:-

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

      【讨论】:

        【解决方案4】:
         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');
        }
        

        【讨论】:

          猜你喜欢
          • 2019-04-16
          • 2020-06-19
          • 2019-10-03
          • 2016-09-04
          • 1970-01-01
          • 2019-12-01
          • 2020-07-29
          • 2017-11-13
          • 1970-01-01
          相关资源
          最近更新 更多