【发布时间】:2026-01-30 11:55:01
【问题描述】:
您好,我似乎无法获得循环语句生成的单选按钮的值。即使有相应的单选按钮名称,$_POST 方法也不起作用。
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "test";
$i = null;
$conn = new mysqli($servername, $username, $password, $dbname);
for ($t=0;$t<4;$t++){}
$sql = "SELECT * FROM questions LIMIT $t";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$i = 0;
echo " <form action='radio.php' method='post'><table>";
echo "<tr>
<th>Questions</th>
<th>Answers</th> </tr> <tr>" ;
while($row = $result->fetch_assoc()) {
$ans=array($row['1'],$row['2'],$row['3']);
shuffle($ans);
echo $row['question']."<br>";
foreach ($ans as $choice) {
echo "<input type='radio' name='radio$i' value = '$choice'>".$choice."<br>";
} unset($choice);
echo " </tr>";$i++;
}
echo "</table> <input type = 'submit' value = 'finished'></form><br>";
echo "";
} else {
echo "0 results";
}
$conn->close();
?>
它总是导致
注意:未定义的索引:C:\xampp\htdocs\Bootstrap\radio.php here is an example output987654321@中的 radio0@ 即使索引 radio0 存在于html的元素中。
【问题讨论】:
-
看看你的html源代码,你会明白发生了什么
-
顺便说一句,您已经发布了非常相似的内容*.com/q/42178389/1415724 - 如果相同,您应该删除那个较旧的问题。
-
你知道你在第一个循环范围内没有做任何事情吗?
for ($t=0;$t<4;$t++){}这个循环的主体是空的,尽管如果你正确地格式化你的代码,你会发现还有更多的范围问题