PHP输出图片链接时参数未正常解析 仅输出原代码语句问题求助
问题原因
- PHP语法中单引号包裹的字符串不会解析内部的$变量,你现在用单引号把整个输出内容包起来,所有
$开头的参数变量都会原样输出,不会替换成对应的值。 - URL的文件路径和查询参数之间缺少分隔符
?,就算变量解析成功,最终生成的URL也不符合规范,无法正常传递参数。
修复方案
你可以任选以下一种方案修改:
方案1:外层改用双引号包裹字符串(写法更简洁)
将外层的单引号替换为双引号,HTML的属性用单引号包裹避免转义,同时补上URL参数分隔符?:
echo "<a href='LP_Teacher_Response_G4.php?Lesson_id=$Lesson_id&user_id=$user_id&Lesson_Class_id=$Lesson_Class_id&class_id=$class_id'> <img height='62' src='../Images/Lock.png' width='76' /></a>";
方案2:单引号+字符串拼接(不需要修改内部引号格式)
如果习惯用单引号包裹HTML内容,可以用.运算符把变量拼接进字符串,同时补上?:
echo '<a href="LP_Teacher_Response_G4.php?Lesson_id=' . $Lesson_id . '&user_id=' . $user_id . '&Lesson_Class_id=' . $Lesson_Class_id . '&class_id=' . $class_id . '"> <img height="62" src="../Images/Lock.png" width="76" /></a>';
优化建议
如果参数值可能包含中文、空格或特殊符号,建议对每个参数值使用urlencode()处理,避免生成非法URL:
echo '<a href="LP_Teacher_Response_G4.php?Lesson_id=' . urlencode($Lesson_id) . '&user_id=' . urlencode($user_id) . '&Lesson_Class_id=' . urlencode($Lesson_Class_id) . '&class_id=' . urlencode($class_id) . '"> <img height="62" src="../Images/Lock.png" width="76" /></a>';
内容的提问来源于stack exchange,提问作者Python Help
相关产品推荐
相关产品推荐

