Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi pendaftaran laravel_admin

Bagaimana untuk melaksanakan fungsi pendaftaran laravel_admin

PHPz
PHPzasal
2023-04-12 09:12:40592semak imbas

Laravel_admin ialah sistem pengurusan bahagian belakang yang memisahkan hujung depan dan belakang. Melaksanakan fungsi pendaftaran dalam Laravel_admin memerlukan dua aspek reka bentuk halaman hadapan dan penulisan logik hujung belakang. Artikel ini akan memperkenalkan proses pelaksanaan kedua-dua aspek ini masing-masing.

1. Pelaksanaan antara muka hadapan

Untuk melaksanakan fungsi pendaftaran dalam Laravel_admin, anda perlu mereka bentuk halaman hadapan di mana pengguna boleh mengisi maklumat yang berkaitan dan menyerahkannya. Mula-mula, cipta fail register.blade.php dalam lapisan paparan untuk meletakkan kod HTML halaman pendaftaran. Kodnya adalah seperti berikut:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Register page</title>
</head>
<body>
    <form method="post" action="{{ route(&#39;register&#39;) }}">
        {{ csrf_field() }}
        <label for="name">Username:</label>
        <input type="text" name="name" id="name"><br>
        <label for="email">Email:</label>
        <input type="email" name="email" id="email"><br>
        <label for="password">Password:</label>
        <input type="password" name="password" id="password"><br>
        <label for="password_confirmation">Confirm Password:</label>
        <input type="password" name="password_confirmation" id="password_confirmation"><br>
        <button type="submit">Submit</button>
    </form>
</body>

Kod di atas ialah borang pendaftaran asas. Medan seperti nama pengguna, e-mel, kata laluan dan pengesahan kata laluan disediakan dalam borang, dan laluan ke mana borang diserahkan ditentukan melalui fungsi laluan yang disediakan oleh Laravel_admin. Pada masa yang sama, untuk memastikan keselamatan data, fungsi csrf_field yang disediakan oleh Laravel_admin digunakan dalam borang untuk menjana medan borang _token tersembunyi.

2. Penulisan logik hujung belakang

Selepas reka bentuk halaman hujung hadapan selesai, anda perlu menulis program logik hujung belakang, yang melibatkan penulisan pengawal. Dalam Laravel_admin, kelas pengawal biasanya disimpan dalam direktori app/Http/Controllers.

Dalam fail pengawal, dua kaedah perlu dilaksanakan: showRegistrationForm dan daftar.

  1. kaedah showRegistrationForm

Kaedah ini digunakan untuk memaparkan halaman borang pendaftaran, kodnya adalah seperti berikut:

public function showRegistrationForm()
{
    return view('auth.register');
}

Kaedah ini hanya mengembalikan templat paparan , dengan nama templat ialah auth.register. Templat paparan yang sepadan dengan nama templat ini ialah fail register.blade.php yang kami takrifkan sebelum ini.

  1. kaedah daftar

Kaedah ini digunakan untuk memproses data yang dihantar oleh borang dan menyimpan data dalam pangkalan data. Kodnya adalah seperti berikut:

public function register(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name' => 'required|string|max:255|unique:users',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
    ]);

    if ($validator->fails()) {
        return redirect('register')
                    ->withErrors($validator)
                    ->withInput();
    }

    $this->create($request->all());

    return redirect('login');
}

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

Dalam kaedah ini, mula-mula gunakan Pengesah Pengesah terbina dalam Laravel_admin untuk mengesahkan data yang diserahkan bagi memastikan tiada nama pengguna atau e-mel pendua. Jika pengesahan gagal, mesej ralat dan data borang yang diserahkan oleh pengguna (denganInput()) dikembalikan ke halaman hujung hadapan, menggesa pengguna dengan mesej ralat dan mengisi semula data borang untuk memudahkan pengubahsuaian pengguna.

Jika pengesahan berjaya, kaedah cipta dipanggil untuk menyimpan maklumat pengguna dalam pangkalan data. Dalam kaedah cipta, panggil kaedah cipta kelas model Pengguna terbina dalam laravel untuk menyimpan medan seperti nama pengguna, e-mel dan kata laluan dalam pangkalan data. Perlu diingatkan bahawa kata laluan perlu disulitkan dengan kaedah bcrypt untuk memastikan keselamatan data.

Akhir sekali, selepas pemprosesan logik selesai, ubah hala pengguna ke halaman log masuk untuk memastikan proses pendaftaran selesai.

3. Tetapan penghalaan

Selain proses pelaksanaan di atas, anda juga perlu menambah dua laluan pada fail penghalaan, sepadan dengan halaman pendaftaran dan pemprosesan penyerahan borang pendaftaran. Tambahkan kod berikut pada route/web.php:

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

Kod di atas sepadan dengan dua kaedah: showRegistrationForm dan daftar. Antaranya, kaedah get mengendalikan permintaan untuk halaman pendaftaran, dan kaedah pos mengendalikan permintaan yang dikemukakan oleh borang pendaftaran.

Pada ketika ini, fungsi pendaftaran di bawah Laravel_admin telah selesai. Sepanjang proses, isu yang memerlukan perhatian termasuk: medan borang csrf_field di halaman hujung hadapan mesti wujud, data yang dikemukakan oleh borang perlu disahkan dalam kaedah daftar dan maklumat yang sepadan digesa, kata laluan pengguna perlu disulitkan dalam kaedah cipta, dsb. Hanya dengan mengendalikan butiran ini dengan betul, kestabilan dan operasi yang sihat bagi proses pendaftaran dapat dipastikan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pendaftaran laravel_admin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn