我正在做一个程序,我必须插入一个数字("X"),这将生成"X"个"输入表单"来输入不同的数字,以便稍后计算一些运算。
我必须使用为生成表单,然后通过带有$_POST的提交按钮将结果传递到下一页。然后,当我试图用的另一个来获得结果时,它不起作用,我会遇到一些问题。
注意:未定义的变量:num4在…
我做错了什么?
谢谢!
<?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*/
?>
在您的第二页中不要使用以下内容:
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.
}
我希望这对你有帮助。