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

这是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>
阅读 1.7k
1 个回答
$name = test_input($_POST['age']);

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题