我有這個用于注冊用戶的功能,這幾乎是默認功能,但我添加了一個要發送到電子郵件的令牌,以便用戶可以激活帳戶,否則用戶無法登錄。所以我嘗試添加一個重新發送功能,所以如果第一次未發送電子郵件時,他們可以手動重新發送,但這會導致 419 錯誤頁面已過期。注冊功能 protected function create(array $data) { $user = Account::create([ 'login' => $data['login'], 'email' => $data['email'], 'password' => Hash::make($data['password']), 'verifyToken'=> Str::random(40), 'active' => (env('CONFIRM_EMAIL', true)) ? 0 : 1 ]); $thisUser = Account::findOrFail($user->id); $this->sendEmail($thisUser); return $user; }這是重新發送的功能 protected function resend(Request $request) { $user = Account::where('email', $request->input('email'))->first(); $user->verifyToken = Str::random(40); $user->save(); $this->sendEmail($user); return $user; }我用這種形式稱呼它<form action=" {!! route('resendEmail') !!}" method="POST"> <fieldset class="youplay-input"> <input id="email" type="email" class="@error('email') is-invalid @enderror" placeholder="E- mail" name="email" value="{{ old('email') }}" required autocomplete="email"> </fieldset> <button class="btn btn-default db" type="submit" value="Submit"> Resend Verification Link </button></form>我已經和一個人討論過這個問題,但我們找不到好的解決方案:How to make resend email link function in Laravel
1 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
您缺少表單中的 csrf 令牌。<form>
標記后添加@csrf
.
例子:
<form?method="POST"?action="/profile"> ????@csrf ????</form>
- 1 回答
- 0 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消