SQLSTATE[42S22]:找不到列:1054 'where clause' 中的未知列 'g-recaptcha-response'
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'g-recaptcha-response' in 'where clause'
我在使用 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!');
}
请用你的最佳方案帮我解决这个问题。
在 Auth::attempt() 中,我们必须传递用户的凭据。
在这种情况下,您将验证码与凭据一起传递,因此会收到错误
如果您在尝试方法中仅传递凭据而没有验证码,那么您将不会收到任何错误
希望有用
我在使用 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!');
}
请用你的最佳方案帮我解决这个问题。
在 Auth::attempt() 中,我们必须传递用户的凭据。
在这种情况下,您将验证码与凭据一起传递,因此会收到错误
如果您在尝试方法中仅传递凭据而没有验证码,那么您将不会收到任何错误
希望有用