PHP平方根计算器(带/ HTML)

时间:2014-09-17 22:37:54

标签: php html

我尝试使用表单使用PHP和HTML制作平方根计算器。但它似乎没有得到输出声明。这是:

    <?php
$num = $_POST['getroot'];
$pull_sqrt = print(sqrt($num));
print("The Square root of "$num"is "$pull_sqrt);
?>

<form action="root.php" method="post">
<input type="text" id="getroot" value="Number"/>
<input type="submit" id="submitroot" value="Calculate"/>
</form>

for root.php:

<?php
$num = $_POST['getroot'];
$pull_sqrt = print(sqrt($num));
print("The Square root of "$num"is "$pull_sqrt);
?>

请帮我解释一下,我还不知道PHP是否允许sqrt();作为一个功能了。任何重新编辑的方式都很好,我想解释一下解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:2)

您没有名为getroot

的表单元素

您想要<input type="text" id="getroot" name="getroot" value="Number"/>

您不能只依赖id。 POST需要一个名为&#34;命名的&#34;元件。

您还错过了print("The Square root of "$num"is "$pull_sqrt);

的联接

旁注: print移除$pull_sqrt = print(sqrt($num));,否则它将以1回显。

DO

print("The Square root of " . $num . "is " .$pull_sqrt);

由于您在一个页面中使用此功能,因此您需要使用isset()并使用action=""

<?php

if(isset($_POST['submit'])){
$num = $_POST['getroot'];
$pull_sqrt = sqrt($num);
print("The Square root of " . $num  . " is " . $pull_sqrt);

}
?>

<form action="" method="post">
<input type="text" id="getroot" name="getroot"  placeholder="Enter a number"/>
<input type="submit" name="submit" id="submitroot" value="Calculate"/>
</form>

您还可以使用is_numeric()检查它是否实际上是已输入的数字。

<?php 

if(isset($_POST['submit'])){

    if(is_numeric($_POST['getroot'])){
      $num = (int)$_POST['getroot'];
      $pull_sqrt = sqrt($num);
      print("The Square root of " . $num  . " is " . $pull_sqrt);

// Yes, you can do the following:
$pull_sqrt = print($num * $num); // added as per a comment you left, but deleted.
}

else{
echo "You did not enter a number.";
}

}
?>

<form action="" method="post">
<input type="text" id="getroot" name="getroot"  placeholder="Enter a number"/>
<input type="submit" name="submit" id="submitroot" value="Calculate"/>
</form>