PHP';循环用于';使用输入文本表单

PHP';循环用于';使用输入文本表单,php,html,forms,Php,Html,Forms,我正在做一个程序,我必须插入一个数字(“X”),这将生成“X”个“输入表单”,输入不同的数字,以便以后计算一些运算 我必须使用为生成表单,然后使用带有$\u POST的提交按钮将结果传递到下一页。然后,当我尝试使用另一个for获得结果时,它不起作用,我遇到了一些问题 注意:未定义变量:num4 in… 我做错了什么 谢谢大家! <?php /*HERE I GET THE NUMBER TO CREATE "X" NUMBER OF FORMS*/ if (isset($_POST["n

我正在做一个程序,我必须插入一个数字(“X”),这将生成“X”个“输入表单”,输入不同的数字,以便以后计算一些运算

我必须使用为生成表单,然后使用带有$\u 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*/

?>

在第二页中,不要使用以下内容:

if (isset($_POST["numero[$i]"])) $num2=$_POST["numero[$i]"];
因为那个字段不存在。当您使用字段数组时,您需要做的是获取字段,然后获取位置,例如,它可以工作:

if(isset($_POST["numero"]) && isset($_POST["numero"][$i])) $num2=$_POST["numero"][$i];
请记住,您使用的字段是数组

如果您不希望数组中的元素出现问题,请使用它(在知道存在$u POST[“numero]后):


我希望这对您有所帮助。

注意:未定义变量:num4 in…
-错误消息的其余部分可能会有所帮助。
foreach($_POST["numero"] as $num)
{
    echo $num; // or waht you want to do.
}