This example shows a simple user registration with input validation, CSRF protection, and password hashing.
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesHash;
use AppModelsUser;
class RegisterController extends Controller
{
public function showForm()
{
return view('register');
}
public function register(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
'password' => 'required|string|min:8|confirmed',
]);
$user = User::create([
'name' => $validated['name'],
'email' => $validated['email'],
'password' => Hash::make($validated['password']),
]);
return redirect('/welcome')->with('message', 'Registration successful!');
}
}
// Blade view: resources/views/register.blade.php
// <form method="POST" action="/register">
// @csrf
// <input type="text" name="name" required>
// <input type="email" name="email" required>
// <input type="password" name="password" required>
// <input type="password" name="password_confirmation" required>
// <button type="submit">Register</button>
// </form>