SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'g-recaptcha-response'

问题描述 投票:0回答:2

我在使用 google reCaptcha 时遇到错误。安装 reCaptcha 时没有问题。但是当我输入它进行验证时,会出现这样的错误。

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'g-recaptcha-response' in 'where clause'

screen_login_form
screen_error
screen_login_view
screen_login_controller


我的观点(u_login.blade.php):

<form method="POST" action="/login/cek" class="form-container form-bg">
 @csrf
 <div>
   <h1 class="h3 font-weight-bold text-success">LOGIN</h1>
   @error('g-recaptcha-response')
   <label class="font-weight-normal mb-4 mt-1 text-danger"><small>Login gagal.</small></label>
   enderror
 </div>

 <div class="form-group mb-1">
   <input name="email" type="email" placeholder="Email" autofocus required>
 </div>
                        
 <div class="form-group">
   <input type="password" name="password" placeholder="Password" required>
 </div>

 <div class="form-group d-flex justify-content-center">
   {!! NoCaptcha::renderJs('id', false, 'recaptchaCallback') !!}
   {!! NoCaptcha::display() !!}
 </div>

 <button type="submit" name="masuk" class="btn btn-lg btn-success btn-block mb-2" name="logout">Masuk</button>
 <div class="form-footer">
   <p> Belum punya akun? <a href="/register">Daftar di sini</a></p>
 </div>
</form>

我的控制器(u_auth.php):

public function authenticate(Request $request)
    {   
        $credentials = $request->validate([
            'email' => 'required|email:rfc,dns',
            'password' => 'required',
            'g-recaptcha-response' => 'required|captcha'
        ]);

        // JIKA LOGIN BERHASIL
        if (Auth::attempt($credentials)) {
            $request->session()->regenerate();
            //dd($credentials);
            return redirect()->intended('')->withToastSuccess('Berhasil masuk!');
        }
        // JIKA LOGIN GAGAL
        return back()->with('toast_error', 'Login gagal!');
    }

请用你的最佳解决方案帮助我解决这个问题。

php laravel recaptcha laravel-9
2个回答
0
投票

在 Auth::attempt() 中,我们必须传递用户的凭据。

在这种情况下,您将验证码与凭据一起传递,因此会出现错误

如果您在尝试方法中仅传递没有验证码的凭据,那么您将不会收到任何错误

希望有用


0
投票

我有同样的问题,尝试方法中删除验证码在 laravel 6 上不起作用

© www.soinside.com 2019 - 2024. All rights reserved.