在这里,我要求用户根据他们在此页面之前在页面中指定的文本框数量输入候选人名称。在我的第二页 Ballot.php 我试图将在这些创建的文本框中输入的内容写入文本文件,但被调用的变量始终为空。有任何想法吗?感谢
$ _POST [“raceList”]和$ _POST [“canList”]中包含的值输入值。
<form action="CreateBallot.php" method="post">
How many races within ballot?
<input type="number" name="raceList" id="raceList">
<br>
How many candidates in each race?
<input type="number" name="canList" id="canList">
<br>
第1页(CreateBallot.php):
<form action="Ballot.php" method="post">
<?php
for($x = 1; $x <= $_POST["raceList"]; $x++){
echo ("<h1>Race #" . $x . "</h1><br>");
echo ("Please fill in candidates:<br>");
for($y = 1; $y <= $_POST['canList']; $y++){
$textboxes = array("<input type='text' name='txtbox' id='txtbox' value=''>");
echo $textboxes[0];
}
}
?>
<p><a class="btn btn-info" href="Election Commissioner.php" role="button" >Go Back »</a>
<a class="btn btn-info" id="startRace" href="Ballot.php" name="startRace" role="button" onclick="butclik();">Finish Ballot »</a></p>
</form>
第二页(Ballot.php)
Candidates:<br>
<?php
$race1 = fopen("race1.txt" , "a") or die("Unable to open file!");
$name1 = $_POST[$textboxes[0]];
fwrite($race1,$name1 . "\r\n");
fclose($race1);
?>
答案 0 :(得分:0)
以下是您应该如何做的简洁代码:
注意:假设$_POST["raceList"]
&amp; $_POST["canList"]
包含正整数值,所以这是代码..!
第一页:
<form action="2nd_page.php" method="post">
<?php
for($x = 1; $x <= $_POST["raceList"]; $x++){
echo "<h1>Race #" . $x . "</h1><br>";
echo ("Please fill in candidates:<br>");
for($y = 1; $y <= $_POST['canList']; $y++){
echo "<input type='text' name='candidate[]'>";
}
}
?>
<input type="submit" name="submit" value"Submit Values">
</form>
第2页(2nd_page.php):
<?php
$candidates = $_POST['candidate'];
for($i=0;$i<count($candidates);$i++)
{
$race1 = fopen("race1.txt" , "a") or die("Unable to open file!");
$name1 = $candidates[$i];
fwrite($race1,$name1 . "\r\n");
fclose($race1);
}
?>
注意:您的代码中有很多错误。我也修复了错误并且现在正在运行。只需查看代码并观察更改内容以及您将如何执行此操作下次。
再次重复同样的错误是好的..