首页 > 解决方案 > 未定义索引:XAMPP 中的名称

问题描述

这是第一页:Index.php

<?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>
  <title>Index</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>

<body>
  <form name="Index" action="Result.php" method="POST">
    Username: <input type="text" name="username" id="username" autocomplete="off"><br><br> 1. I identify my gender as... <br> &ensp;&ensp;
    <input type="radio" name="gender" value="male">Male<br> &ensp;&ensp;
    <input type="radio" name="gender" value="female">Female<br> &ensp;&ensp;
    <input type="radio" name="gender" value="others">Others<br><br>
    <INPUT Type="submit" Value="Proceed" Onclick="Index.action='Test2.php'; return true;">
  </form>
</body>

</html>
<?php
session_destroy();
?>

这是第二页:Test2.php

<?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>
  <title>Test2</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>

<body>
  <form action="Result.php" method="POST">
    2. What is your age?<br> &ensp;&ensp;
    <input type="radio" name="age" value="14years">Under 14 years old<br> &ensp;&ensp;
    <input type="radio" name="age" value="15years">15-24 years old<br> &ensp;&ensp;
    <input type="radio" name="age" value="25years">25-59 years old<br> &ensp;&ensp;
    <input type="radio" name="age" value="60years">60-74 years old<br> &ensp;&ensp;
    <input type="radio" name="age" value="75years">Above 75 years old<br><br><br><br>
    <INPUT Type="submit" Value="Proceed" Onclick="Index.action='Test3.php'; return true;">
  </form>
</body>

</html>
<?php
session_destroy();
?>

这是第三页:Test3.php

<?php
session_start();
?>
<!DOCTYPE html>
<html>

<head>
  <title>Test3</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>

<body>
  <form action="Result.php" method="POST">
    3. Please specify your ethnicity (race)<br> &ensp;&ensp;
    <input type="radio" name="race" value="chinese">Chinese<br> &ensp;&ensp;
    <input type="radio" name="race" value="malay">Malay<br> &ensp;&ensp;
    <input type="radio" name="race" value="indian">Indian<br> &ensp;&ensp;
    <input type="radio" name="race" value="others">Others<br><br>
    <input type="submit" name="submit" value="Submit">
  </form>
</body>

</html>
<?php
session_destroy();
?>

这是最后一页:Result.php

<?php
session_start();
?>
<html>

<head>
  <title>Result</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>

<body>
  Welcome!
  <?php echo $_POST["username"]; ?><br>
  <?php
$gender = $_POST['gender'];
if ($gender == "others")
    echo "<font size='5'>You are not normal</font><br><br>";
else
    echo "<font size='5'>You are normal</font><br><br>";

$age = $_POST['age'];
if (($age == "60years") || ($age == "75years"))
    echo "<font size='5'>You are old man</font><br><br>";
else
    echo "<font size='5'>You are young man</font><br><br>";

$race = $_POST['race'];
if ($race == "others")
    echo "<font size='5'>You are from other race</font><br><br>";
else
    echo "<font size='5'>You are from one of three races</font><br><br>";
?>
</body>

</html>
<?php
session_destroy();
?>

所以,这是四个页面:Index.php -> Test2.php -> Test3.php -> Result.php 其中 Result.php 显示文本框和单选按钮的值(if...else)。但是当我运行这些页面时:Index.php 转到 Test2.php 并跳过 Test3.php 并直接转到 Result.php。在 Reslt.php 中,我得到了这个结果: 在此处输入图像描述

所以我该怎么做?我在互联网上搜索并尝试了不同的解决方案,但无法按预期工作。在那之后,我发现按钮可能有一些问题。所以,我再次去互联网寻找合适的解决方案,但没有这样做。现在我不知道该怎么做。一些代码解释将对我有很大帮助。谢谢 ;)

标签: javascriptphpjqueryhtmlxampp

解决方案


您应该在每一页上获得所需的值,并将它们发布到下一页。

例如,在 中test2.php

 $username = $_POST["username"];
 $gender = $_POST['gender'];
 <input type="hidden" name="username" id="username" value="<?php echo $username; ?>">
 <input type="hidden" name="gender" id="gender" value="<?php echo $gender; ?>">

推荐阅读