What do you mean by
it is not working
What is not working? What error are you receiving?
I am working in email verification I sent an email, the link in email is defined by token value . now when I want to verify mail by the use of token it is not working because token stored in database is different from token in the link although everything is the same .
the controller of sending mail and storing token in user table:
protected function create(array $data){
$con=
($data['con_id']);
if($con==4){
$remember_token=Str::random(64);
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'con_id' =>1,
'password' => Hash::make($data['password']),
'remember_token' =>$remember_token,
]);
Mail::send('emails.email', ['remember_token'=>$remember_token], function($message) use($data){
$message->to($data['email']);
$message->subject('Email Verification Mail');
});
}
elseif($con==9){
$remember_token = Str::random(64);
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'con_id' =>2,
'password' => Hash::make($data['password']),
'remember_token' => $remember_token
]);
Mail::send('emails.email', ['remember_token'=> $remember_token], function($message) use($data){
$message->to($data['email']);
$message->subject('Email Verification Mail'); });
}
else{
$remember_token = Str::random(64);
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'con_id' => $data['con_id'],
'password' => Hash::make($data['password']),
'remember_token' => $remember_token
]);
Mail::send('emails.email', ['remember_token' => $remember_token], function($message) use($data){
$message->to($data['email']);
$message->subject('Email Verification Mail');
});
}
if($user->con_id==2){
$user->syncRoles([3]);
}
elseif($user->con_id==1)
$user->syncRoles([4]);
return $user;
route in email :
Route::get('account/verify/{remember_token}', [ConsultController::class, 'verifyAccount'])->name('verify');
ConsultController =>verifyAccount funcation
public function verifyAccount($remember_token)
{
// dd($remember_token);
$verifyUser = User::where('remember_token', $remember_token)->first();
$message = 'Sorry your email cannot be identified' ;
// dd($verifyUser);
if(!is_null($verifyUser) ){
$user = $verifyUser->user;
// dd($user );
if($verifyUser->email_verified_at==null) {
$verifyUser->email_verified_at = now();
// $verifyUser->user->is_email_verified = 1;
// dd($unput);
$verifyUser->save();
$message = "Thank you for activating your email, please start using our portal services.";
} else {
$message = "Your e-mail is already verified.";
}
}
return view('auth.login')->with('success', $message);
}
Please or to participate in this conversation.