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

Laravel自定义表单中如何通过Session显示登录用户邮箱

Laravel自定义表单显示登录用户邮箱的解决方案

推荐方案:利用Laravel内置Auth系统

Laravel的身份验证模块已经自动管理了登录用户的会话,无需额外配置Session,直接通过Auth工具就能获取用户信息:

视图内直接调用Auth助手函数

把你的输入框代码替换为:

<input type="text" name="email" value="{{ auth()->user()->email }}">

若需保留$user->email写法

在对应页面的控制器方法中,将登录用户实例传递到视图:

public function yourFormAction()
{
    $user = auth()->user();
    return view('your-form-blade-file', compact('user'));
}

这样原代码<input type="text" name="email" value="{{$user->email}}">即可正常渲染邮箱。

备选方案:直接从Session读取(不推荐)

Laravel登录后会将用户ID存储在Session中(键名取决于config/session.php的cookie配置,默认类似login_web_xxxx),可通过ID查询用户获取邮箱,但这种方式不够灵活且效率较低:

<input type="text" name="email" value="{{ App\Models\User::find(session('login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d'))?->email }}">

防报错处理

若页面可能被未登录用户访问,需增加判断避免空指针错误:

<input type="text" name="email" value="{{ auth()->check() ? auth()->user()->email : '' }}">

内容的提问来源于stack exchange,提问作者Shafer th

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:52:11