PHP中使用$_GET为变量赋值遇未定义索引prom问题求助
解决PHP中Undefined index: prom的问题
咱们先直接揪出问题的根源:你在索引页面的链接里,传递的URL参数名是id(edit.php?id='.$prom.'),但在edit.php里却尝试获取$_GET['prom']——参数名完全不匹配,PHP自然找不到这个索引,就抛出了Undefined index的错误。
给你两个直接可行的解决方案,选一个适配你的需求就行:
方案1:修改PHP代码,匹配现有参数名
既然链接里传的参数是id,那把edit.php里的代码改成获取id参数即可:
// 正确获取链接传递的id参数 $id = $_GET['id']; echo $id;
方案2:修改链接的参数名,使用prom
如果你想保持PHP代码里用$_GET['prom'],那调整索引页的链接,把参数名改成prom:
<a href="edit.php?prom='.$prom.'"> Edit </a>
之后再执行$id = $_GET['prom'];就不会报错了。
额外的安全提醒
直接使用$_GET里的参数存在SQL注入风险,尤其是这个参数要用于数据库操作的话,一定要做校验和过滤。比如如果$prom是整数类型的ID,可以这样处理:
// 过滤并验证参数为整数,避免非法输入 $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); if ($id === false) { // 参数无效时的处理,比如跳回列表页 header("Location: index.php"); exit; }
内容的提问来源于stack exchange,提问作者Jovan125
相关产品推荐
相关产品推荐

