我正在做一个程序,我必须插入一个数字(“X”),这将产生“X”数量的“输入表格”,以便以后输入不同的数字,计算一些操作。
我必须使用 for 生成表单,然后使用带有$ _POST的提交按钮将结果传递到下一页。然后,当我尝试用另一个 for 来获得结果时,它不起作用,我遇到了一些问题。
注意:未定义的变量:num4 in ...
我做错了什么?
谢谢!
<?php
/*HERE I GET THE NUMBER TO CREATE "X" NUMBER OF FORMS*/
if (isset($_POST["num"]))
{
$num=$_POST["num"];
$_POST["num"]=$num;
if ( is_numeric($num) and $num>=0)
{
echo"<form action=\"tercera.php\" method=\"post\">";
echo "Quina operació vols fer?:<br><br> "
. "<input type=\"radio\" name=\"operacio\" value=\"suma\"/>Suma "
. "<input type=\"radio\" name=\"operacio\" value=\"mitja\"/>Mitja"
. "<input type=\"radio\" name=\"operacio\" value=\"major\"/>Major"
. "<input type=\"radio\" name=\"operacio\" value=\"menor\"/>Menor</p>";
/*HERE I MAKE THE FOR LOOP TO GENERATE THE FORMS WITH "numero[$i]" */
for ($i=1; $i<=$num; $i++)
{
echo" <input type=\'text\' name=\'numero[$i]\' maxlength=\'10\' size=\"10\"/>";
}
echo "<p><input type='submit' value='Calcula' /></p>";
}
else
{
echo "<H3>Has d'escriure un numero mes gran que 0, torna-ho a intentar.";
}
}//isset*/
?>
/*/ NEXT PHP PAGE /*/
<?php
if (isset($_POST["operacio"])) $operacio=$_POST["operacio"];
//HERE I GET THE NUMBERS OF THE LAST PAGE
for ($i=1; $i<=2; $i++)
{
if (isset($_POST["numero[$i]"])) $num2=$_POST["numero[$i]"] ;
//HERE IS WHERE I GET THE ERROR: Undefined variable: num2
echo $num2;
}
//this part is ok ...
if ($operacio == "suma")
{
echo "i equals 0";
}
elseif ($operacio == "mitja")
{
echo "i equals 1";
}
elseif ($operacio == "major")
{
echo "i equals 2";
}
elseif ($operacio == "menor")
{
echo "i equals 3";
}
if ( is_numeric($num) and $num>=0)
{
for ($i=1; $i<=$num; $i++)
{
}
}
else
{
echo "<H3>Has d'escriure un numero mes gran que 0, torna-ho a intentar.";
}
//isset*/
?>
答案 0 :(得分:0)
在你的第二页中不要使用它:
if (isset($_POST["numero[$i]"])) $num2=$_POST["numero[$i]"];
因为该字段不存在。当你使用字段数组时,你需要做的是获取字段,然后获取位置,例如,它可以工作:
if(isset($_POST["numero"]) && isset($_POST["numero"][$i])) $num2=$_POST["numero"][$i];
请记住,您使用的是一个数组字段。
如果您不想使用数组中的元素遇到麻烦,请使用它(在知道$ _POST [“numero]存在之后):
foreach($_POST["numero"] as $num)
{
echo $num; // or waht you want to do.
}
我希望这对你有所帮助。