As an open source PHP web framework, Laravel has always been favored by web developers. Its powerful functions and ease of use are its advantages. For a web application, login is one of the very basic functions. In Laravel, we can quickly implement user login and jump.
Next, let’s talk about how to implement user login and jump in Laravel.
Preconditions
Before we start writing code, we first need to ensure the following conditions:
- Have a Laravel environment;
- has been turned on Laravel's authentication functionality.
If you have not enabled Laravel's identity authentication function, you can enter the project root directory in the terminal and enter the following command:
php artisan make:auth
For Laravel projects that have turned on the identity authentication function, we can follow the following steps to implement it.
User login
In Laravel, we can obtain the username and password entered by the user through a form. Generally speaking, we will set the Post method in the form and submit it to a controller called LoginController, as shown in the following code:
<form method="POST" action="{{ route('login') }}"> @csrf <div> <label for="email">郵箱</label> <div> <input id="email" type="email" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> </div> </div> <div> <label for="password">密碼</label> <div> <input id="password" type="password" name="password" required autocomplete="current-password"> </div> </div> <div> <div> <div> <input type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> <label for="remember"> 記住我 </label> </div> </div> </div> <div> <div> <button type="submit"> 登錄 </button> @if (Route::has('password.request')) <a href="{{ route('password.request') }}"> 忘記密碼了? </a> @endif </div> </div> </form>
After the user fills in the form information, click the "Login" button , the data will be submitted to the LoginController controller.
We find the login method in the app/Http/Controllers/Auth/LoginController.php file and modify the content of the method as follows:
use IlluminateHttpRequest; public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { // 認(rèn)證成功后的操作 } return back()->withErrors( ['email' => '用戶名或密碼錯(cuò)誤'] ); }
In the above code, we first obtain the user form The data submitted is email and password. Next, we try to authenticate the user using the Auth::attempt() method. If the user authentication is successful, follow-up operations are performed in the if statement, otherwise an error message is returned, prompting the user that the user name or password is incorrect, and the login interface is reloaded.
Jump
After the user successfully logs in, we need to jump the user to the specified page. In Laravel, there are two implementation methods, as follows.
Controller method
We can redirect to the specified page by adding the authenticated() method in the LoginController controller. This method will be called automatically after successful user authentication. The modified LoginController controller code is as follows:
use IlluminateHttpRequest; public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { return redirect()->intended('/home'); } return back()->withErrors( ['email' => '用戶名或密碼錯(cuò)誤'] ); } protected function authenticated(Request $request, $user) { return redirect('/home'); }
In the above code, we can see the authenticated() method, which redirects the user to the /home page.
Routing method
We can also implement redirection by registering a route after successful login. In the web.php file, we register the following route:
Route::get('/home', function () { return view('home'); })->name('home'); Route::group(['middleware' => 'auth'], function () { Route::get('/', function () { return redirect()->route('home'); }); });
In the above code, we registered the default root route / in the auth middleware. When the user logs in successfully, it will automatically redirect to /home page.
Summary
The above is the method for user login and jump in Laravel. The identity authentication function provided by Laravel provides great help for us to quickly implement user login. At the same time, through controllers and routing, we can also control user jumps in detail.
The above is the detailed content of laravel login jump. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

InLaravel,policiesorganizeauthorizationlogicformodelactions.1.Policiesareclasseswithmethodslikeview,create,update,anddeletethatreturntrueorfalsebasedonuserpermissions.2.Toregisterapolicy,mapthemodeltoitspolicyinthe$policiesarrayofAuthServiceProvider.

Yes,youcaninstallLaravelonanyoperatingsystembyfollowingthesesteps:1.InstallPHPandrequiredextensionslikembstring,openssl,andxmlusingtoolslikeXAMPPonWindows,HomebrewonmacOS,oraptonLinux;2.InstallComposer,usinganinstalleronWindowsorterminalcommandsonmac

The main role of the controller in Laravel is to process HTTP requests and return responses to keep the code neat and maintainable. By concentrating the relevant request logic into a class, the controller makes the routing file simpler, such as putting user profile display, editing and deletion operations in different methods of UserController. The creation of a controller can be implemented through the Artisan command phpartisanmake:controllerUserController, while the resource controller is generated using the --resource option, covering methods for standard CRUD operations. Then you need to bind the controller in the route, such as Route::get('/user/{id

Laravel allows custom authentication views and logic by overriding the default stub and controller. 1. To customize the authentication view, use the command phpartisanvendor:publish-tag=laravel-auth to copy the default Blade template to the resources/views/auth directory and modify it, such as adding the "Terms of Service" check box. 2. To modify the authentication logic, you need to adjust the methods in RegisterController, LoginController and ResetPasswordController, such as updating the validator() method to verify the added field, or rewriting r

Laravelprovidesrobusttoolsforvalidatingformdata.1.Basicvalidationcanbedoneusingthevalidate()methodincontrollers,ensuringfieldsmeetcriterialikerequired,maxlength,oruniquevalues.2.Forcomplexscenarios,formrequestsencapsulatevalidationlogicintodedicatedc

InLaravelBladetemplates,use{{{...}}}todisplayrawHTML.Bladeescapescontentwithin{{...}}usinghtmlspecialchars()topreventXSSattacks.However,triplebracesbypassescaping,renderingHTMLas-is.Thisshouldbeusedsparinglyandonlywithfullytrusteddata.Acceptablecases

Selectingonlyneededcolumnsimprovesperformancebyreducingresourceusage.1.Fetchingallcolumnsincreasesmemory,network,andprocessingoverhead.2.Unnecessarydataretrievalpreventseffectiveindexuse,raisesdiskI/O,andslowsqueryexecution.3.Tooptimize,identifyrequi

TomockdependencieseffectivelyinLaravel,usedependencyinjectionforservices,shouldReceive()forfacades,andMockeryforcomplexcases.1.Forinjectedservices,use$this->instance()toreplacetherealclasswithamock.2.ForfacadeslikeMailorCache,useshouldReceive()tod
