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

如何让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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:35:23