所以基本上我正在做的是生成一個簡單的表單來接受一個數字。基於這個數字,我使用與這些輸入表單關聯的新提交按鈕生成一個平等的文本輸入法線。問題是我需要跟上原始數量的表單作爲索引值傳遞給我想要存儲新組文本輸入值的數組。但是當我提交新表單時,價值一直在下降。以下是我的代碼如下。爲什麼我在同一頁面上提交第二個表單時保持丟失變量值
注意:我已經註釋掉了我試圖存儲文本輸入值的算法,只是試圖回顯表單的值數量而沒有這個值會阻止我進入我的for循環,我想存儲這些值。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Kid Order Selector</title>
</head>
<body>
<form action="kid_selector.php" method="post">
Enter number of kids playing:<input type="text" name="num_kids" /><input type="submit" name="submit" value="Submit" />
</form>
<br /><br />
<form action="kid_selector.php" method="post">
<?php
if(isset($_POST["num_kids"])) {
$num_kids = $_POST["num_kids"];
echo "Enter the following kids names:<br />";
for($i = 1; $i <= $num_kids; $i++) {
echo "<input type=\"text\" name=\"kid{$i}\" /><br />";
$index = $i;
}
if($num_kids == $index) {
echo "<input type=\"submit\" name=\"submit\" value=\"Submit\" />";
}
$numkids = $num_kids;
} else {
$num_kids = "";
}
?>
<?php
//$kids = array();
echo $numkids;
if(isset($_POST["kid1"])) {
echo "Success";
for($i=0; $i < $numkids; $i++) {
// $index = $i + 1;
//$pos = "kid{$index}";
//echo $pos;
//$kids[$i] = $_POST[$pos];
echo "Success";
}
//print_r($kids);
}
?>
</form>
</body>
</html>
我喜歡你提到的第一個解決方案的解決方案2。雖然我遇到了一些實現str_repeat的錯誤,所以我查看了PHP.net文檔,發現你列出的參數是相反的。它應該被設置爲如下所示:string str_repeat(string $ input,int $ multiplier) –
@EricMayfield是的,你說得很對。現在修復。 – Boann