Laravel登录表单仅刷新页面无登录或错误提示的问题排查求助
Laravel登录表单仅刷新页面无登录或错误提示的问题排查求助
我最近在Laravel项目里开发登录功能,遇到了一个头疼的问题:点击登录按钮后页面只会原地刷新,既没有成功登录跳转到预设页面,也不显示任何错误提示,数据库里明明有对应的用户数据。我已经检查了好几个关键点,但还是找不到问题所在,来求助各位大佬!
我已经排查过的内容:
/login的GET和POST路由都正确配置,POST路由指向LoginController@authenticate方法- 表单明确使用了
method="POST",action属性也正确调用了{{ route('login') }}生成的路由 - 表单里通过
@csrf指令正确引入了CSRF令牌,浏览器里也能看到这个字段 - 页面中已经添加了错误消息展示的逻辑,但完全没有渲染出来
- 查看Laravel的日志文件,也找不到任何和登录相关的错误记录
下面是我的核心代码片段:
web.php 路由配置
use App\Http\Controllers\LoginController; Route::get('/login', [LoginController::class, 'index'])->name('login'); Route::post('/login', [LoginController::class, 'authenticate']);
LoginController.php 认证方法
namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class LoginController extends Controller { public function authenticate(Request $request) { $credentials = $request->only('username', 'password'); if (Auth::attempt($credentials)) { // 登录成功跳转到预设页面 return redirect()->intended('/'); } // 登录失败返回原页面并携带错误信息 return back()->withErrors([ 'login' => '用户名或密码错误,请重试。', ]); } }
登录表单Blade模板
<form method="POST" action="{{ route('login') }}"> @csrf <input type="text" name="username" placeholder="用户名" /> <input type="password" name="password" placeholder="密码" /> <button type="submit">登录</button> <!-- 错误消息展示区域 --> @if ($errors->has('login')) <div class="error-message"> {{ $errors->first('login') }} </div> @endif </form>
我实在搞不懂,为什么点击登录后只是刷新页面,既不登录也不报错?有没有大佬遇到过类似的情况,或者能帮我排查一下可能的原因?
内容来源于stack exchange
相关产品推荐
相关产品推荐

