درود بنده می خوام بعد از اینکه کاربر از طریق پیامک رجیستر شد لاگین هم بشه اما این اتفاق نمیوفته؟؟!!
این کد مربوط به کنترلر بنده
public function store(Request $request)
{
$validData = $request->validate([
'user_name' => ['required', 'string', 'max:255', 'min:3'],
'phone' => ['required', 'regex:/^09(1[0-9]|3[1-9]|2[1-9])-?[0-9]{3}-?[0-9]{4}$/', 'unique:users,phone']
]);
$user=User::create([
'name'=>$request->user_name,
'phone'=>$request->phone
]);
$code=ActiveCode::GenerateCode($user);
$user->notify(new ActiveCodeNotification($code,$validData['phone']));
return redirect(route('get.token'));
}
اینم کد کنترلر مربوط به تایید کد ارسالی
public function get_token(Request $request)
{
return view('auth.token-phone');
}
public function post_token(Request $request,User $user)
{
$request->validate([
'token' => ['required']
]);
$status = ActiveCode::verifyCode($request->token ,$user);
if (!$status){
$user->activeCode()->delete();
// Auth::login($user);
\auth()->loginUsingId($user->id);
alert()->success('ثبت نام شما با موفقیت انجام شد', 'خانه هوشمند آریا')->autoclose('4000');
return redirect('/');
}
else{
return redirect('/register');
}
}
و کاربر به درستی ثبت نام میشود ولی لاگین خیر!
این کد هم تفاوتی نمی کنه
Auth::login($user);این کد از مدل رو بفرستید
$status = ActiveCode::verifyCode($request->token ,$user)شاید پاسخ شما همینجا باشد
@Reza.7 خدمت مهندس عزیز
public function scopeVerifyCode($query,$code,$user)
{
return !! $user->activeCode()->where('code',$code)->where('expired_at' , '>' , now())->first();
}
ولی این کد ب درستی کار می کنه
و این کد داخل مدل ActiveCode قرار دارد
@ehsndvr مهندس false برمیگردونه!! البته مهندس همین رو داخل کنترلر اولی چک می کنم true میده اما داخل کنترلر مربوط به توکن چک می کنم فالس میده در صورتی که کاربر در کنترلر قبلی اسم و شمارش در دیتا بیس ذخیره شده البته من می خوام در کنتلر دومی عملیات لاگین انجام شه.
از متغیر user هم dd بگیرید و بررسی کنید اصلا دارای مقدار هستش یا نه ؟
اگر هم عجله دارید تشریف بیارید تلگرام مشکل رو حل کنیم ، آیدی تلگرام بنده : @ehsndvr