Добрый вечер! При регистрации, делает дубль пользователя. Мои глаза уже не видят, не пойму в чем может быть ошибка
class RegisterComponent extends Component
{
public $sendCode = false;
public $name;
public $phone;
public $code;
public function send()
{
$this->sendCode = true;
$rand = mt_rand(1000, 9999);
session()->put('rand', ['code' => $rand]);
$body = file_get_contents("https://sms.ru/sms/send?api_id=&to=$this->phone&msg=".urlencode(iconv("windows-1251","utf-8",$rand))."&json=1");
}
public function register()
{
if (session()->has('rand'))
{
if (session()->get('rand')['code'] == $this->code)
{
$user = User::create([
'name' => $this->name,
'phone' => $this->phone,
]);
Auth::login($user);
return redirect()->route('account.index');
} else {
session()->flash('code_error', 'Неверный код подтверждения');
}
}
}
public function render()
{
return view('livewire.register-component');
}
}
<form wire:submit.prevent="register">
<label>
<span>Имя</span>
<input type="text" wire:model="name" class="popUp_inp" placeholder="Введите ваше имя">
</label>
<label>
<span>Номер телефона</span>
<input type="text" wire:model="phone" class="popUp_inp" placeholder="Введите ваш телефон">
</label>
@if(\Illuminate\Support\Facades\Session::has('code_error'))
<div
class="text-red-600">{{\Illuminate\Support\Facades\Session::get('code_error')}}</div>
@endif
@if($sendCode)
<label>
<span>Введите код</span>
<input type="text" wire:model="code" class="popUp_inp" placeholder="Введите код">
</label>
@endif
@if($sendCode)
<input type="submit" class="popUp_btn btn" wire:click="register" value="Зарегестрироваться">
@else
<input type="button" class="popUp_btn btn" wire:click="send" value="Выслать код">
@endif
</form>