Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

david001's avatar

How to modify register route

Hi, I have student and teacher registration page and I am using laravel ui package for getting login/registration. I my web.php I have routes like below as default

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

I want to have url as

domain.com/register?user=teacher will show teacher register form domain.com/register?user=student will show student register form How can i do this laravel. Any help? Thanks

0 likes
7 replies
david001's avatar

@Sinnbeck I want to have two different routes domain.com/register?user=teacher and domain.com/register?user=student They will have same method but based on get parameter i will redirect the user. How can I modify the existing register route. Thanks

Sinnbeck's avatar
Sinnbeck
Best Answer
Level 102

@david001 Those are the same route. Laravel has no way of telling the difference in the router. So you need to add that method to the register controller, and override the view in there

public function showRegistrationForm(Request $request)
    {
        if ($request->input('teacher')) {
            return view('auth.register-teacher');
        }
        return view('auth.register-student');
    }
david001's avatar

thanks @Sinnbeck is showRegistrationForm() is defined somewhere in Laravel? If so can you tell me where it is?

hdsavani's avatar

Laravel UI provides the following default routes and you can modify them.

//Auth::routes();
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
2 likes

Please or to participate in this conversation.