Maison  >  Article  >  cadre php  >  Comment implémenter la fonction d'enregistrement laravel_admin

Comment implémenter la fonction d'enregistrement laravel_admin

PHPz
PHPzoriginal
2023-04-12 09:12:40591parcourir

Laravel_admin est un système de gestion backend qui sépare le front-end et le back-end. La mise en œuvre de la fonction d'enregistrement dans Laravel_admin nécessite deux aspects de la conception de la page frontale et de l'écriture de la logique back-end. Cet article présentera respectivement le processus de mise en œuvre de ces deux aspects.

1. Implémentation de l'interface frontale

Pour implémenter la fonction d'enregistrement dans Laravel_admin, vous devez concevoir une page frontale où les utilisateurs peuvent remplir les informations pertinentes et les soumettre. Tout d'abord, créez le fichier register.blade.php dans la couche de vue pour placer le code HTML de la page d'inscription. Le code est le suivant :

<!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>

Le code ci-dessus est un formulaire d'inscription de base. Des champs tels que le nom d'utilisateur, l'e-mail, le mot de passe et la confirmation du mot de passe sont fournis dans le formulaire, et l'itinéraire auquel le formulaire est soumis est spécifié via la fonction d'itinéraire fournie par Laravel_admin. Dans le même temps, afin de garantir la sécurité des données, la fonction csrf_field fournie par Laravel_admin est utilisée dans le formulaire pour générer un champ de formulaire _token caché.

2. Écriture de la logique back-end

Une fois la conception de la page frontale terminée, le programme logique back-end doit être écrit, ce qui implique l'écriture du contrôleur. Dans Laravel_admin, les classes de contrôleurs sont généralement stockées dans le répertoire app/Http/Controllers.

Dans le fichier du contrôleur, deux méthodes doivent être implémentées : showRegistrationForm et register.

  1. Méthode showRegistrationForm

Cette méthode est utilisée pour restituer la page du formulaire d'inscription, le code est le suivant :

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

Cette méthode renvoie simplement un modèle de vue, où le nom du modèle est auth.register. Le modèle de vue correspondant à ce nom de modèle est le fichier register.blade.php que nous avons défini précédemment.

  1. méthode de registre

Cette méthode est utilisée pour traiter les données soumises par le formulaire et stocker les données dans la base de données. Le code est le suivant :

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']),
    ]);
}

Dans cette méthode, utilisez d'abord le validateur intégré de Laravel_admin Validator pour vérifier les données soumises afin de vous assurer qu'il n'y aura pas de noms d'utilisateur ou d'e-mails en double. Si la vérification échoue, le message d'erreur et les données du formulaire soumises par l'utilisateur (withInput()) sont renvoyés à la page frontale, invitant l'utilisateur avec le message d'erreur et remplissant les données du formulaire pour faciliter la modification par l'utilisateur.

Si la vérification réussit, la méthode create est appelée pour stocker les informations utilisateur dans la base de données. Dans la méthode create, appelez la méthode create de la classe de modèle User intégrée de Laravel pour stocker des champs tels que le nom d'utilisateur, l'e-mail et le mot de passe dans la base de données. Il convient de noter que le mot de passe doit être crypté par la méthode bcrypt pour garantir la sécurité des données.

Enfin, une fois le traitement logique terminé, redirigez l'utilisateur vers la page de connexion pour vous assurer que le processus d'inscription est terminé.

3. Paramètres de routage

En plus du processus de mise en œuvre ci-dessus, vous devez également ajouter deux itinéraires au fichier de routage, correspondant à la page d'inscription et au traitement de soumission du formulaire d'inscription. Ajoutez le code suivant à routes/web.php :

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

Les codes ci-dessus correspondent à deux méthodes : showRegistrationForm et register. Parmi elles, la méthode get gère la demande de page d'inscription et la méthode post gère la demande soumise par le formulaire d'inscription.

À ce stade, l'implémentation de la fonction d'enregistrement sous Laravel_admin est terminée. Tout au long du processus, les problèmes qui nécessitent une attention particulière sont les suivants : le champ de formulaire csrf_field dans la page d'accueil doit exister, les données soumises par le formulaire doivent être vérifiées dans la méthode d'enregistrement et les informations correspondantes doivent être demandées, le mot de passe de l'utilisateur doit à chiffrer dans la méthode create, etc. Ce n'est qu'en traitant correctement ces détails que la stabilité et le bon fonctionnement du processus d'enregistrement peuvent être assurés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn