我正在为Factorial Program工作。我有一点感到震惊。
Fact.php
<html>
<body>
<form action="FactCalc.php" method="post">
Enter a Number: <input type="text" name="number">
<input type="submit" Value="Calculate Factorial">
</form>
</body>
</html>
FactCalc.php
<?php
$num = $_POST["number"];
$factorial = 1;
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
echo "Factorial of $num is $factorial";
?>
这个程序运行正常。我想将$ factorial返回到Fact.php并在文本框下方显示它。我很震惊,你能帮忙吗。
答案 0 :(得分:2)
<?php
if (isset($_POST["number"]))
{
$_POST["number"] = ($_POST["number"] * 1);
include "FactCalc.php";
}
?>
<form action="FactCalc.php" method="post">
<p>
Enter a Number:
<input type="text" name="number">
<input type="submit" Value="Calculate Factorial">
<?php
if (isset($factorial))
{
echo "</p><p>Factorial of $num is $factorial";
}
?>
</p>
</form>
答案 1 :(得分:1)
你可以使用AJAX,但这是一个简单的方法,希望你有个想法......
<?php
$result="";
if(isset($_POST['ispost']) && $_POST['ispost']=="y"){
$num = $_POST["number"];
$factorial = 1;
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
$result="Factorial of ".$num." is ".$factorial;
}
?>
<html>
<body>
<form action="" method="post">
<input type="hidden" name="ispost" value="y" />
Enter a Number: <input type="text" name="number" />
<input type="submit" value="Calculate Factorial /">
</form>
<?php print($result); ?>
</body>
</html>
答案 2 :(得分:1)
这是启用AJAX,更有说服力的解决方案。这个答案预测了&#34; $&#34;的潜在冲突问题,以及jQuery.get或post
的潜在缓存问题Fact.php:
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>
</head>
<body>
<form action="" method="post">
<input type="hidden" name="ispost" value="y" />
Enter a Number: <input type="text" name="number" id="number" />
<input type="button" id="factorial_button" value="Calculate Factorial /">
</form>
<script>
jQuery(document).ready(function(){
jQuery("#factorial_button").click(function(){
var number = jQuery("#number").val();
jQuery.ajax({
url: "FactCalc.php",
type: "POST",
data: {
"number":number,
},
dataType : "html",
cache: false,
beforeSend: function () {
jQuery("#result").html("retrieving information...");
},
success: function( data ) {
jQuery("#result").html(data);
},
error: function( xhr, status, errorThrown ) {
jQuery("#result").html("Ajax error");
}
});
});
});
</script>
<div id="result"></div>
</body>
</html>
FactCalc.php:
<?php
$num = $_POST["number"];
$factorial = 1;
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
echo "Factorial of $num is $factorial";
?>
答案 3 :(得分:0)
你可以做这样的事情
Fact.php
<?php
if(isset($_POST["number"]))
{
$num = $_POST["number"];
$factorial = 1;
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
}
else
$factorial = "";
?>
<html>
<body>
<form action="" method="post">
Enter a Number: <input type="text" name="number">
<input type="submit" Value="Calculate Factorial">
<?php
if($factorial)
echo "Factorial of $num is $factorial";
?>
</form>
</body>
</html>
您无法“共享”FactCalc.php和Fact.php之间的变量
答案 4 :(得分:0)
**try this very easy to use this factorial**
<?php
$fact=1;
for($i=5;$i>=1;$i--)
{
$fact=$fact*$i;
}
echo $fact;
?>
答案 5 :(得分:0)
function factorial($number) {
if ($number < 2) {
return 1;
} else {
return ($number * factorial($number-1));
}
}
在此处检查code demo