名字和年龄只显示其一,选项正常,如何解决

发布于 2022-09-12 00:54:48 字数 1665 浏览 10 评论 0

这是name 和 age都填写的结果:只输出 age
image.png
这是只填写一个的结果:只输出填写的一项
image.png
代码如下:(检查不出问题啊!)

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    .err {color: red;}
  </style>
</head>
<body>

<?php 
$name = $age = $ok = "";
$nameerr = $ageerr = $okerr = "";

function test_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

if($_SERVER["REQUEST_METHOD"]=="POST"){
  if(!empty($_POST['name'])){
    $name = test_input($_POST['name']);
  }else{
    $nameerr = "Your name is required.";
  }

  if(!empty($_POST['age'])){
    $name = test_input($_POST['age']);
  }else{
    $ageerr = "Your age is required.";
  }

  if(!empty($_POST['ok'])){
    $ok = test_input($_POST['ok']);
  }else{
    $okerr = "Please check this option.";
  }
}

?>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
Name: <input type="text" name="name"><span class="err">*<?php echo $nameerr; ?></span>
<br>
Age: <input type="text" name="age"><span class="err">*<?php echo $ageerr; ?></span>
<br>
<input type="radio" name="ok" value="我确认以上属实">我确认以上属实<span class="err">*<?php echo $okerr; ?></span>
<br>
<input type="submit" name="submit" value="submit">
</form>

<?php
echo "your input:";
echo "<br>";
echo $name;
echo "<br>";
echo $age."<br>";
echo $ok;
?>

</body>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难忘№最初的完美 2022-09-19 00:54:48
$name = test_input($_POST['age']);

这里变量错了,把上面的$name覆盖了。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文