Php 使用从一种形式到另一种形式的变量时出错
在Php 使用从一种形式到另一种形式的变量时出错,php,forms,variables,Php,Forms,Variables,在PHP中,我想使用在第一个表单中输入的$num值,并使用$num和另一个变量执行$rate函数,该变量名为$rate,我在第二个表单中输入 <body> <form action="" method="post"> Enter number: <input type="number" name="num" id="num"/> <input type="submit" name="next" value="Next"/><b
PHP
中,我想使用在第一个表单中输入的$num
值,并使用$num
和另一个变量执行$rate
函数,该变量名为$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
我需要在代码中添加什么来识别$num
变量并正确执行pow()
NB:不要注意“输入的”输入-这只是为了测试。
这是我昨天找到的解决方案,效果很好。希望大家都能理解
<?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;
?>
输入号码:
输入的号码:全部在一个文件中吗?你认为这会怎样?您似乎还不了解HTML表单和PHP是如何协同工作的。阅读一些初学者教程。是的,它在一个文件中,毕竟它确实有效,所以问题不在我的“初学者”理解中。我写这篇文章是为了寻求比我更有经验的程序员的帮助,这样他们会向我展示我的问题的最佳解决方案,当然也会有其他面临类似问题的人来这里检查一下。。。很抱歉,但不要欣赏像你这样的评论,这些评论是轻声说的:无用的,甚至是冒犯性的…@user3572059-你的HTML中有两个单独的表单。第一个用于生成$num
。请看一下您的第二个表单-哪里使用了$num
?
<?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;
?>