Laravel 6

Problème concernant mon lien de redirection concernant l'enregistrement d'un nouveau utilisateur

Avatar de LouisRobredo
LouisRobredo

Bonjour à tous, Je n'arrive pas à créer mon lien de validation lors de l'enregistrement d'un nouvel utilisateur le lien que je produits m'envoi sur une erreur 404. je pense que je dois encore lui indiquer un id, mais je trouve pas comment. Merci.

Mon register controler



public function register (Request $request)
    {
        // nouveau utilisateur création nom, email, et mot de passe hashé avec bcrypt
        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = Hash::make( $request->password);
        $user->verification_code = bcrypt(time());
        
        //si l'utilisateur n'existe pas alors le compte sera créé et l'envoi d'un email est fait
        if($user != null){
            MailController::sendSignupEmail($user->name, $user->email, $user->verification_code);
            $user->save();
            return redirect()->back()->with(session()->flash('alert-success', 'Votre compte a été créé avec succès. S\'il vous plaît veuillez vérifier vos emails pour activer votre inscription'));
        }
        
        //une erreur est survenue un message apparaît alors.
        return redirect()->back()->with(session()->flash('alert-danger', 'quelque chose a mal tourné'));

    }
}

mon signup-email.blade.

{{-- lien d'envoi pour l'utilisateur afin de valider son compte --}}
{{-- <a href="{{url('verify',$email_data['verification_code'])}}">Vérication de votre email</a> --}}
<a href="{{url('email/verify/id/',$email_data['verification_code'])}}">Vérication de votre email</a>
Avatar de LouisRobredo
LouisRobredo

Je dois récupérer l'id puisque en faisant cela ça a fonctionné mais je ne sais pas ou et comment faire. Merci de votre aide Vérication de votre email

Avatar de bestmomo
bestmomo

Salut,

Il y a quelque chose que je ne comprends pas dans ton code :

if($user != null){

Là ça ne sera jamais null puisque tu crées systématiquement un nouveau User.

Avatar de LouisRobredo
LouisRobredo

Salut ça viendrai de la? Pourtant en faisant comme ça Vérication de votre email j'ai réussi a le faire mais je dois appeler mon id et ça je ne sais pas comment faire.

Avatar de bestmomo
bestmomo

Je ne comprends pas cette histoire d'id.

Avatar de LouisRobredo
LouisRobredo

C'est pour créer un nouveau utilisateur et la vérification avec l'email de confirmation. J'ai bien le lien qui arrive dans la boîte mail pas la redirection n'est pas bonne puisque qu'il me faut le bon id.

Avatar de bestmomo
bestmomo

Ah je crois que j'ai compris, il faut inverser ces deux lignes :

$user->save();
MailController::sendSignupEmail($user->name, $user->email, $user->verification_code);          
Avatar de LouisRobredo
LouisRobredo

Merci je viens d'essayer mais ne fonctionne pas erreur 404 dans ce cas

Avatar de bestmomo
bestmomo

Je n'ai pas la vision globale du code mais il faut peut-être aussi envoyer l'id pour l'email :

MailController::sendSignupEmail($user->name, $user->email, $user->verification_code, $user->id);

Et ça serait plus léger d'envoyer juste $user.

Vous ne pouvez pas répondre à ce sujet.