将变量从一种形式用于另一种形式时出错

时间:2014-05-14 09:58:26

标签: php forms variables

PHP中,我想使用在第一个表单中输入的$num值,并使用pow()和另一个名为{{的变量执行$num函数1}},我以第二种形式输入。

$rate

执行代码时,它会显示:

<body>
<form action="" method="post">
    Enter number: <input type="number" name="num" id="num"/>
    <input type="submit" name="next" value="Next"/><br>
</form>
<?php   if( isset($_POST['next']) ) : $num = $_POST['num']; ?>
        Entered number: <input type="text" name="entered" id="entered" value=" <?=$num ?> "/>
<?php   endif; ?>

<form action="" method="post">
    Enter rate: <input type="number" name="rate" id="rate"/>
    <input type="submit" name="calculate" value="Calculate"/>
</form>
<?php   if( isset($_POST['calculate']) ) : $rate = $_POST['rate'];
            if( $rate >=1 && $rate <=10 ) : echo pow($num, $rate); endif;
        endif;
?>
</body

我需要在代码中添加哪些内容才能识别Notice: Undefined variable: num in ... on line ... 0 变量并执行$num

  

注意:不要注意输入的&#39;输入 - 它仅用于测试。

1 个答案:

答案 0 :(得分:0)

这是我昨天发现的解决方案,效果非常好。希望能够理解。

<?php   if( empty($_POST) ): ?>
<form action="" method="post">
    Enter number: <input type="number" name="num" id="num"/>
    <input type="submit" name="next" value="Next"/><br>
</form>
<?php   endif; ?>

<?php   if( isset($_POST['next']) ) : $num = $_POST['num']; ?>
<form action="" method="post">
    Entered number: <input type="text" name="entered" id="entered" value=" <?=$num ?> "/><br>
    Enter rate: <input type="number" name="rate" id="rate"/>
    <input type="submit" name="calculate" value="Calculate"/>
</form>
<?php   endif;

    if( isset($_POST['calculate']) ) : $rate = $_POST['rate'];
        $num = $_POST['entered']; 
        if( $rate >=1 && $rate <=10 ) : echo pow($num, $rate); 
        else: echo 'Enter rate between 1 and 10' . '<form> <input type="submit" value="Back" onClick="history.go(-1);return TRUE;"> </form>';
        endif;
    endif;
?>