注册表未将数据提交到数据库 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的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.2 - 如何将变量(数组和整数)从视图传递到控制器?