【问题标题】:Creating new user with Laravel 5.2 authentication使用 Laravel 5.2 身份验证创建新用户
【发布时间】: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' =&gt; $data['first_name'], 如果您想访问另一个类中经过身份验证的用户,请使用 Auth::user()-fiest_name
  • 我无法访问 create 函数,因为我不知道如何将表单重定向到此函数

标签: php forms authentication laravel-5.2


【解决方案1】:

在您的表单中更改它

<form method="POST" action="{{url('user/new')}}

在表单和控制器中具有相同的字段

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 2017-07-03
    • 2016-04-19
    • 1970-01-01
    • 2016-04-05
    • 2016-05-14
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多