【发布时间】:2016-05-28 04:51:31
【问题描述】:
我是 laravel 框架的新手,在将一些变量从表单传递给函数时遇到了一些困难。
我正在查看指南:https://laravel.com/docs/5.1/authentication,但我不知道如何将变量传递给函数。
我想知道变量是如何传递给另一个方法的,因为我无法访问创建新用户的函数,所以当我提交表单时,我想去创建函数。
有人知道身份验证是如何工作的吗?
这是我的文件
routes.php
Route::auth();
Route::get('/home', 'HomeController@index');
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('user/new', 'Auth\AuthController@getRegister');
Route::post('user/new', 'Auth\AuthController@postRegister');
Route::controllers([
'password' => 'Auth\PasswordController',
]);
AuthController.php
protected function create(array $data){
print_r($data);
/*
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
*/
}
register.blade.php
<!-- resources/views/auth/register.blade.php -->
@extends('layout.master_layout')
@section('content')
<form method="POST" action="/usuario/novo">
{!! csrf_field() !!}
<div class="card-panel">
<h5>Personal information</h5>
<div class="row">
<div class="input-field col s12 m12 l7">
<i class="material-icons prefix">account_circle</i>
{{ Form::text('','',array('id' => 'first_name',
'type' => 'text')) }}
{{ Form::label('First name') }}
</div>
</div>
</div>
<div class="row">
<div class="col s12 m12 l12">
{{ Form::button('Create new user', array('class' => 'btn waves-effect waves-light', 'type' => 'submit',
'name' => 'action')) }}
</div>
</div>
</form>
@endsection
【问题讨论】:
-
create 函数会将新用户添加到数据库并将相同的用户对象返回到登录方法(您看不到它,因为它在另一个文件中),因此用户将在登录后登录创建,你能解释一下你想要做什么吗?如果您想将字段 EX: name 更改为 first name ,只需更改此 'name' => $data['name'],使用此
'first_name' => $data['first_name'],如果您想访问另一个类中经过身份验证的用户,请使用Auth::user()-fiest_name -
我无法访问 create 函数,因为我不知道如何将表单重定向到此函数
标签: php forms authentication laravel-5.2