渗透测试入门学习——php表单form与POST、GET请求练习

最终效果:
必填项为空报错提示:
代码:
php 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>php表单练习</title>
</head>
<body>
<?php
  //php中的htmlspecialchars()可以将用户输入的 "<" ">" 等与html解析有关的特殊字符转换为字符处理
  //可以从一定程度上防止XSS
  $name = htmlspecialchars($_REQUEST['name']);
  $email = htmlspecialchars($_REQUEST['email']);
  $hobby = $_REQUEST['hobby'];
  $note = htmlspecialchars($_REQUEST['note']);
  $gender = htmlspecialchars($_REQUEST['gender']);
  if ($_SERVER["REQUEST_METHOD"] == "POST") {//只接收处理POST请求
    if (empty($name)){//校验并提示报错信息
      $namErr = "姓名不能为空";
    } 
    if (empty($email)){
      $emailErr = "邮箱不能为空";
    } 
    if (empty($gender)){
      $genderErr =  "性别不能为空";
    } 
}
?>
<!-- 表单 -->
<form action="#" method="post">
    名字(*必填):<input type="text" name="name">    <?php echo $namErr; ?><br><!-- 错误提示的输出 -->
    邮件(*必填):<input type="text" name="email">   <?php echo $emailErr; ?><br>
    爱好:
    <input type="checkbox" name="hobby[]" value="绘画">绘画
    <input type="checkbox" name="hobby[]" value="音游">音游
    <input type="checkbox" name="hobby[]" value="FPS">FPS
    <input type="checkbox" name="hobby[]" value="MMORPG">MMORPG
    <input type="checkbox" name="hobby[]" value="学习">学习
    <br>
    性别(*必填):
    <input type="radio" name="gender" value="男">男
    <input type="radio" name="gender" value="女">女   <?php echo $genderErr; ?><br>
    <br>
    备注:
    <textarea name="note"></textarea><br>
    <input type="submit" value="提交">
</form>


<?php
  //打印输出提交的表单信息
  echo "姓名是:",$name,'<br>';
  echo "邮箱是:",$email,'<br>';
  echo "爱好是:";
  if (!(empty($hobby))){
    foreach($hobby as $ah){
      echo  htmlspecialchars($ah)," ";
   }
  }
  echo '<br>';
  echo "性别是:",$gender,'<br>';
  echo "备注是:",$note,'<br>';
?>
</body>
</html>
相关推荐
lilihuigz6 小时前
Tutor LMS 4.0 Beta版全新上线:以学习者为中心的移动优先学习体验
学习·在线教育·lms
数字供应链安全产品选型7 小时前
关键领域清单+SBOM:834号令下软件供应链的“精准治理“逻辑与技术落地路径
人工智能·安全
kuinnebula9 小时前
RTSP学习
学习
北顾笙98011 小时前
LLM学习-day04
学习
byoass12 小时前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
lzj_pxxw12 小时前
W25Q64存储芯片 软件设计刚需常识
stm32·单片机·嵌入式硬件·mcu·学习
Slow菜鸟13 小时前
AI学习篇(四) | AI设计类Skills推荐清单(2026年)
人工智能·学习
念恒1230613 小时前
Python(列表进阶)
python·学习
Fullde福德负载箱厂家13 小时前
负载箱的需求分析与规格编制:用户应知的采购前期技术准备
安全·制造
ReaF_star13 小时前
【安全】SSL证书更新操作手册(Nginx+Cloudflare+acme.sh)
nginx·安全·ssl