Rumah >rangka kerja php >Laravel >Cara menulis pendaftaran borang laravel
Laravel pada masa ini ialah salah satu rangka kerja pembangunan PHP yang paling popular Ciri-cirinya yang berkuasa dan fleksibel memberikan pembangun web dengan alat pembangunan dan API yang berkuasa. Dalam Laravel, pendaftaran borang adalah ciri yang sangat biasa Hari ini kita akan belajar cara menggunakan Laravel untuk melaksanakan pendaftaran borang.
Pertama, kita perlu mencipta laluan dalam Laravel untuk mengendalikan penyerahan borang dan memaparkan halaman borang. Kita boleh menambah kod berikut dalam fail routes/web.php
:
Route::get('/register', 'AuthRegisterController@showRegistrationForm')->name('register'); Route::post('/register', 'AuthRegisterController@register')->name('register');
Di sini, kami mentakrifkan dua laluan, satu ialah laluan permintaan GET, yang digunakan untuk memaparkan halaman borang pendaftaran, dan satu lagi POST laluan permintaan, yang digunakan Untuk memproses data penyerahan borang. Kami juga menamakan dua laluan ini register
.
Seterusnya, kita perlu menentukan pengawal untuk memproses dan membuat halaman borang Kita boleh menggunakan arahan berikut untuk menjana pengawal:
php artisan make:controller AuthRegisterController
Kemudian, kita perlu Menulis kaedah untuk memproses. borang dan render borang. Kodnya adalah seperti berikut:
namespace AppHttpControllersAuth; use AppHttpControllersController; use IlluminateFoundationAuthRegistersUsers; use IlluminateSupportFacadesValidator; use IlluminateHttpRequest; class RegisterController extends Controller { use RegistersUsers; protected $redirectTo = '/home'; public function __construct() { $this->middleware('guest'); } public function showRegistrationForm() { return view('auth.register'); } public function register(Request $request) { $this->validator($request->all())->validate(); $user = $this->create($request->all()); $this->guard()->login($user); return redirect($this->redirectTo); } 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:8', 'confirmed'], ]); } protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']), ]); } }
Di sini, kami menggunakan ciri RegistersUsers
terbina dalam Laravel untuk menyediakan fungsi pengguna berdaftar, yang merangkumi beberapa kaedah biasa, seperti validator()
kaedah dan create()
kaedah. Kaedah ini digunakan untuk mengesahkan data borang dan mencipta pengguna baharu masing-masing.
Dalam kaedah showRegistrationForm()
, kami mengembalikan paparan templat yang mengandungi kandungan borang kami. Dalam kaedah register()
, kami mula-mula menggunakan kaedah validator()
untuk mengesahkan data borang Jika pengesahan lulus, kami menggunakan kaedah create()
untuk mencipta pengguna baharu dan menggunakan kaedah guard()
untuk log masuk pengguna. .
Akhir sekali, kita perlu membuat paparan borang untuk membentangkan borang pendaftaran pengguna. Kami boleh menambah kandungan berikut dalam fail resources/views/auth/register.blade.php
:
<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('register') }}"> @csrf <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 @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus> @error('name') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </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 @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email"> @error('email') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </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 @error('password') is-invalid @enderror" name="password" required autocomplete="new-password"> @error('password') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </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 autocomplete="new-password"> </div> </div> <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>
Di sini, kami telah menggunakan rangka kerja Bootstrap untuk mencantikkan gaya borang. Antaranya, kami menggunakan arahan @csrf
untuk menjana medan input token CSRF tersembunyi, dan juga menentukan laluan pendaftaran dalam atribut form
bagi teg action
.
Pada ketika ini, pendaftaran borang Laravel telah selesai. Kita boleh menggunakan perintah php artisan serve
untuk memulakan pelayan pembangunan setempat dan melawati http://localhost:8000/register
untuk melihat halaman borang pendaftaran. Apabila kami mengisi data borang yang betul dan menyerahkan borang, sistem mendaftarkan pengguna baharu dan log masuk secara automatik.
Ringkasnya, sangat mudah untuk melaksanakan pendaftaran borang dengan Laravel. Laravel menyediakan banyak fungsi dan alatan terbina dalam untuk membantu kami melaksanakan pelbagai aplikasi web biasa dan kompleks. Jika anda mahir menggunakan fungsi dan alatan ini, anda boleh membina aplikasi web yang cekap, stabil dan mudah diselenggara dengan cepat.
Atas ialah kandungan terperinci Cara menulis pendaftaran borang laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!