You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 11:59:35