我试图计算(通过PHP文件)圆的直径,面积和圆周,其半径由用户在html文件中给出。用户给出半径值,PHP脚本计算上述数量。问题是当我执行程序时,html接受输入,但PHP脚本没有显示输出。
代码如下: -
circle.html: -
<html>
<head>
<title>Circle</title>
</head>
<body>
<form method="GET" action="circle1.php">
<center>
<h1>Circle</h1>
<table border= 2 width=200>
<tr align=center>
<td>Radius</td>
<td><input type="text" name=radius size=5></td>
</tr>
<tr align=center>
<td colspan=2>
<input type="submit">
<input type="reset">
</td>
</tr>
</table>
</center>
</form>
</body>
</html>
circle1.php: -
<html>
<head>
<title>Circle</title>
</head>
<body>
<center>
<h1>Circle</h1>
<?php
define("PI",3.14159,TRUE);
GLOBAL $d,$c,$a,$r;
$r=$_GET['radius'];
$d=2*$r;
$c=2*PI*$r;
$a=PI*$r*$r;
?>
<table border = 2 width=200>
<tr>
<td>Diameter</td>
<td><?php echo $d; ?></td>
</tr>
<tr>
<td>Circumference</td>
<td><?php echo $c; ?></td>
</tr>
<tr>
<td>Area</td>
<td><?php echo $a; ?></td>
</tr>
</table>
<a href="circle.html"><h2>Back</h2></a>
</center>
</form>
</body>
</html>
抱歉这么长的帖子。任何帮助将不胜感激。
答案 0 :(得分:1)
某些服务器设置(如各种Amazon Linux AMI)要求您通过php打印功能(如echo)输出HTML以正确执行。如果您有这种类型的设置,那么在输出所有客户端 HTML之前,您需要执行服务器端 PHP代码。
尝试 circle1.php :
<?php
define("PI",3.14159,TRUE);
GLOBAL $d,$c,$a,$r;
$r=$_GET['radius'];
$d=2*$r;
$c=2*PI*$r;
$a=PI*$r*$r;
echo'
<html>
<head>
<title>Circle</title>
</head>
<body>
<center>
<h1>Circle</h1>
<table border="2" width="200">
<tr>
<td>Diameter</td>
<td>'.$d.'</td>
</tr>
<tr>
<td>Circumference</td>
<td>'.$c.'</td>
</tr>
<tr>
<td>Area</td>
<td>'.$a.'</td>
</tr>
</table>
<a href="circle.html"><h2>Back</h2></a>
</center>
</form>
</body>
</html>';
?>
答案 1 :(得分:0)
您的代码可能会被清理一下,但它应该可以正常工作。它没有任何本质上的错误。我把它作为测试切割并粘贴,它工作正常。
如果第一页(纯HTML)有效,但第二页(circle1.php)没有任何结果,那么首先要检查的是你的网络服务器是否配置为使用PHP以及{{1}的路径是准确的,因为底线是您的PHP解析器不在循环中。
答案 2 :(得分:0)
您的代码是正确的。您必须遇到与php.ini
或apache
相关的问题。通过检查源代码来检查您的<?php
代码是否正在逃逸。 。如果是,请将此代码放在顶部error_reporting(E_ALL);
并尝试调试它。
答案 3 :(得分:-3)
您需要使用引号封装输入属性。
替换
<input type="text" name=radius size=5>
使用
<input type="text" name="radius" size="5">