简体   繁体   English

用户注册后重定向到登录页面。 Laravel 5.4

[英]Redirect to login page after a user is registered. Laravel 5.4

How can I redirect to login page, after a user is registered on my web application with a message called "Your information is received and witing for admin approval.". 在用户在我的Web应用程序上注册了一条名为“您的信息已收到并且需要管理员批准”的消息后,如何重定向到登录页面。 By using laravel 5.4 version 通过使用laravel 5.4版本

Note: I have done the login and register by using Auth procress of laravel 5.4. 注意:我已经使用laravel 5.4的Auth procress完成了登录和注册。

Edit: Here is my RegisterController 编辑:这是我的RegisterController

namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Storage;

class RegisterController extends Controller

{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/

use RegistersUsers;

/**
 * Where to redirect users after registration.
 *
 * @var string
 */
protected $redirectTo = '/login';

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

/**
 * Get a validator for an incoming registration request.
 *
 * @param  array  $data
 * @return \Illuminate\Contracts\Validation\Validator
 */
protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
        'userimage' => 'required|image'
    ]);
}

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return User
 */
protected function create(array $data) {
    $path = Storage::putFile('userimages',$data['userimage']);
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'userimage' => $path,
        'user_type' => 3
    ]);
    return $user;
}

In RegisterController , by default Laravel login the user, so when you redirect back to login route. RegisterController ,默认情况下Laravel登录用户,因此当您重定向回login路由时。 It gives you page is not redirecting properly error. 它给你的页面没有正确重定向错误。

In your RegisterController add the register method : RegisterController添加register方法:

/**
 * Handle a registration request for the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    return redirect($this->redirectPath())->with('message', 'Your message');
}

Also add this line of code on the top of RegisterController: 还要在RegisterController的顶部添加这行代码:

use Illuminate\\Http\\Request; 使用Illuminate \\ Http \\ Request;

use Illuminate\\Auth\\Events\\Registered; 使用Illuminate \\ Auth \\ Events \\ Registered;

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

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