注册表未将数据提交到数据库 Laravel 5.2

Posted

技术标签:

【中文标题】注册表未将数据提交到数据库 Laravel 5.2【英文标题】:Registration Form is not submitting data into Database Laravel 5.2 【发布时间】:2016-07-23 11:29:29 【问题描述】:

我已经在我的销售点应用程序中安装了 laravel 身份验证(脚手架),注册表工作正常但是我创建了一个管理中间件并且我将 /register 限制为仅管理员,我可以从我的管理面板获取视图管理员已登录,但当我提交数据时,它不会向数据库发送任何内容。

PS:如果还有什么需要在 cmets 中提及。

注册视图:

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Register</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action=" url('/register') ">
                        !! csrf_field() !!

                        <div class="form-group $errors->has('name') ? ' has-error' : '' ">
                            <label class="col-md-4 control-label">Name</label>

                            <div class="col-md-6">
                                <input type="text" class="form-control" name="name" value=" old('name') ">

                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong> $errors->first('name') </strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group $errors->has('email') ? ' has-error' : '' ">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value=" old('email') ">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong> $errors->first('email') </strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group $errors->has('password') ? ' has-error' : '' ">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong> $errors->first('password') </strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group $errors->has('password_confirmation') ? ' has-error' : '' ">
                            <label class="col-md-4 control-label">Confirm Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong> $errors->first('password_confirmation') </strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-user"></i>Register
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

路线

Route::group(['middleware' => 'web'], function () 
    Route::get('/', function () 
        return view('welcome');
    );

    Route::auth();

    Route::get('/home', 'HomeController@index');
    Route::get('/register', function()
        return view('auth.register');
    )->middleware('isAdmin');

);

HomeController

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

class HomeController extends Controller

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    
        $this->middleware('auth');
    

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    
        return view('home');
    

【问题讨论】:

它是否返回一个错误,从我可以看到你在表单上使用POST 请求到/register URL,但你只有一个get 请求集在你的路线中准备好这个 URL 了吗? 你能发布User.php的内容吗? 【参考方案1】:

尝试在 User.php 中使用 fillable

例如: 如果您想存储姓名、电子邮件和密码,请确保您有

protected $fillable = ['name', 'email', 'password'];

在你的 User.php 中

【讨论】:

@LaravelWarrior 你有为 '/register' 定义的 POST 路由吗?正如我所看到的 GET 路线相同,但我猜缺少 POST。

以上是关于注册表未将数据提交到数据库 Laravel 5.2的主要内容,如果未能解决你的问题,请参考以下文章

未将数据提交到 git 存储库

Laravel 5.2 - 如何将变量(数组和整数)从视图传递到控制器?

博客应用程序在提交表单时未将属性保存到数据库

Laravel 5.2:在用户登录/注销和注册后显示会话闪烁消息

CURL 未将数据发布到 URL

php表单未将日期发送到数据库SQL