Laravel表单无法传递用户ID问题求助
问题分析与修复方案
问题原因
你的隐藏输入框缺少name属性——表单提交时,只有带有name属性的表单控件数据才会被浏览器发送到后端,这就是用户ID字段没有出现在请求数据里的核心原因。
修复方法
给隐藏输入框添加name属性,比如指定name="user_id",修改后的代码如下:
<input class="form-control" type="hidden" name="user_id" value="{{ Auth()->user()->id }}">
提交表单后,后端就能通过$request->user_id获取到当前登录用户的ID了。
额外建议
从安全角度考虑,其实不需要在前端表单传递用户ID,直接在后端通过Auth::user()->id(或auth()->user()->id)获取即可,这样能避免前端恶意篡改ID的风险。
内容的提问来源于stack exchange,提问作者Abim
相关产品推荐
相关产品推荐

