سلام وقت بخیر
من میخام بعد از ثبت نام sms برای کاربر ارسال بشه و ابتدا احراز هویت بشه و ثبت نام کامل بشه
به شکل زیر نوشتم میخام بدونم درسته؟ و اینکه کد به دیتابیس ارسال میشه ولی برام sms نمیشه
مشکل بعدی اینه که بعد از اینکه کد تایید وارد میکنم گفتم به صفحه rule هدایت بشه ولی این پیغام تو صفحه نمایش میده
This page isn’t workinglocalhost redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS
public function register(Request $request)
{
$data = $request->validate([
'phone' => 'required|unique:users,phone|digits:11|numeric|regex:/[0]{1}[0-9]{10}/',
'password' => ['required', 'string', 'min:8', 'confirmed'],
'reagent_code' => ['nullable' , 'string' , 'max:255' , 'min:3'],
// 'g-recaptcha-response' =>['required' , New Recaptcha],
],
[
// 'g-recaptcha-response.required' =>'لطفا روی من ربات نیستم کلیک کنید',
]);
$user = User::create([
'phone' => $data['phone'],
'password' => Hash::make($data['password']),
'reagent_code' => $data['reagent_code'],
]);
$apiKey = config('services.ghasedak.key');
try{
$message = "کد احراز هویت شما : " . $user->phone . " ";
$lineNumber = "10008566";
$receptor = $user['phone'];
$api = new \Ghasedak\GhasedakApi($apiKey);
$api->SendSimple($receptor,$message,$lineNumber);
}
catch(\Ghasedak\Exceptions\ApiException $e){
echo $e->errorMessage();
}
catch(\Ghasedak\Exceptions\HttpException $e){
echo $e->errorMessage();
}
$request->session()->flash('auth' , [
'user_id' => $user->id,
]);
ActiveCode::generateCode($user);
return redirect(route('auth.phone.token'));
}
مدل activeCode
public function user()
{
return $this->belongsTo(User::class);
}
public function scopeVerifyCode($query , $code, $user)
{
return !! $user->activeCode()->whereCode($code)->where('expired_at' , '>' , now())->first();
}
public function scopeGenerateCode($query , $user)
{
$user->activeCode()->delete();
do {
$code = mt_rand(100000, 999999);
} while($this->checkCodeIsUnique($user , $code));
$user->activeCode()->create([
'code' => $code,
'expired_at' => now()->addMinutes(10)
]);
return $code;
}
private function checkCodeIsUnique($user, int $code)
{
return !! $user->activeCode()->whereCode($code)->first();
}
private function getAliveCodeForUser($user)
{
return $user->activeCode()->where('expired_at' , '>' , now())->first();
}
@hadikhanian
این دوره تهیه کردم از قبل ولی برای لاگین هست و از نوتیفیکیشن استفاده شده
برای ثبت نام از نوتیفیکیشن نباید استفاده کرد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟