如何让PHP的$_GET变量生效,实现H1标签随用户输入动态变更?
问题解决与完整代码
你的代码核心问题是PHP逻辑没有和HTML的H1标签关联,同时存在几处不符合要求的细节,以下是完成所有开发任务的完整lab2.php代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Lab Week 2</title> <meta name="author" content="Sean Kingston"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <?php // 处理用户输入:判断是否存在且非空,同时转义防止XSS $favArtist = isset($_GET['name']) ? trim($_GET['name']) : ''; ?> <!-- 动态生成H1内容 --> <h1><?php echo $favArtist ? '你最喜爱的音乐艺术家是:' . htmlspecialchars($favArtist) : '请输入你最喜爱的音乐艺术家名称'; ?></h1> <section> <!-- GET方法表单 --> <form method="get"> <input type="text" name="name" value="<?php echo htmlspecialchars($favArtist); ?>" placeholder="输入艺术家名称" /> <input type="submit" value="提交" name="sub"> </form> </section> <?php // 正确显示当前文件源代码 show_source(__FILE__); ?> </body> </html>
关键修正与任务完成说明
- 任务1-2:文件命名为
lab2.php,页面标题设置为「Lab Week 2」 - 任务3:H1标签根据用户输入动态切换内容,默认显示提示文本,提交后展示输入的艺术家名称
- 任务4:添加了
section标签包裹表单区域 - 任务5:表单使用
GET方法,输入内容存入$favArtist变量,同时用trim()过滤纯空格的无效输入 - 任务6:包含提交按钮,点击后触发GET请求
- 任务7:通过
isset($_GET['name'])判断输入是否存在,结合trim()确保内容非空 - 额外优化:用
htmlspecialchars()转义用户输入,避免XSS安全风险;输入框回显之前的内容,提升体验;修正了原代码中viewport的拼写错误(原with改为width);修复show_source()的常量错误,使用__FILE__(双下划线)获取当前文件路径
内容的提问来源于stack exchange,提问作者yermteam
相关产品推荐
相关产品推荐

