简体   繁体   English

如何在 Laravel 5.7 登录会话期间使用 Auth() 注册

[英]How to Use Auth() Register During Login Session in Laravel 5.7

I have changed the register page of Laravel 5.7 Auth() to the studentRegister page to register a new student, but it is inaccessible when I'm logged in through another user.我已将 Laravel 5.7 Auth() 的注册页面更改为 studentRegister 页面以注册新学生,但是当我通过其他用户登录时无法访问。 The route didn't work while I'm in the session.当我参加会议时,这条路线不起作用。 However, it works perfectly after logging out from one session.但是,从一个会话注销后,它可以完美运行。

Please suggest how I can register a new student while I'm logged in.请建议我如何在登录时注册新学生。

studentRegister.blade.php studentRegister.blade.php

I have removed {{csrf}} as well.我也删除了 {{csrf}}。

@extends('layouts.app')

@section('content')
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">{{ __('Register') }}</div>
                    <div class="card-body">
                        <form method="POST" action="{{ route('registerStudent') }}">
                            <div class="form-group row">
                                <label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>

                                <div class="col-md-6">
                                    <input id="name" type="text"
                                           class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}"
                                           name="name" value="{{ old('name') }}" required autofocus>

                                    @if ($errors->has('name'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('name') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group row">
                                <label for="email"
                                       class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                                <div class="col-md-6">
                                    <input id="email" type="email"
                                           class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}"
                                           name="email" value="{{ old('email') }}" required>

                                    @if ($errors->has('email'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('email') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group row">
                                <label for="password"
                                       class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
                                <div class="col-md-6">
                                    <input id="password" type="password"
                                           class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}"
                                           name="password" required>
                                    @if ($errors->has('password'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('password') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group row">
                                <label for="password-confirm"
                                       class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
                                <div class="col-md-6">
                                    <input id="password-confirm" type="password" class="form-control"
                                           name="password_confirmation" required>
                                </div>
                            </div>

                            <input id="role_id" type="hidden" name="role_id" value="1">

                            <div class="form-group row mb-0">
                                <div class="col-md-6 offset-md-4">
                                    <button type="submit" class="btn btn-primary">
                                        {{ __('Register') }}
                                    </button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection

You can remove this line from your RegisterController __construct :您可以从 RegisterController __construct 中删除此行:

$this->middleware('guest');

update You can also define new registration.更新您还可以定义新注册。 You can define new route :您可以定义新路线:

Route::get('register2', 'yourController@showRegistrationForm')->name('register2');
Route::post('register2', 'yourController@register');

And in yourController :在 yourController 中:

public function showRegistrationForm()
{
    return view('auth.register2');
}

public function register(Request $req)
{
    $req->validate([
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:6', 'confirmed'],
    ]);

    User::create([
        'name' => $req->name,
        'email' => $req->email,
        'password' => Hash::make($req->password),
    ]);
    return 'something';
}

And copy/paste/rename your register blade to register2 and just change the form action to {{ route('register2') }}并将您的注册刀片复制/粘贴/重命名为 register2 并将表单操作更改为{{ route('register2') }}

go to studentRegisterController.php and delete this function转到 studentRegisterController.php 并删除此功能

 public function __construct()
        {
            $this->middleware('guest');
        }

and if you use the default Register go to app/Http/Controller/Auth/RegisterController.php and delete this line如果你使用默认注册去 app/Http/Controller/Auth/RegisterController.php 并删除这一行

public function __construct()
    {
        $this->middleware('guest');
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM