1

ユーザーがhtmlファイルで半径を指定した円の直径、面積、円周を(PHPファイルで)計算しようとしています。ユーザーが半径の値を指定すると、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>

このような長い投稿を申し訳ありません。どんな助けでも大歓迎です。

4

4 に答える 4

1

さまざまな Amazon Linux AMI などの一部のサーバー設定では、適切に実行するために、echo などの php 印刷関数を使用して 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>';
 ?>
于 2012-10-12T20:21:04.360 に答える
0

コードを少しクリーンアップできますが、動作するはずです。本質的に間違っているものは何もありません。私は文字通りそれをテストとして切り取って貼り付けましたが、うまくいきました。

最初のページ (純粋な HTML) は機能するが、2 番目のページ (circle1.php) には何も表示されない場合、最初に確認することは、Web サーバーが PHP を使用するように構成されているかどうか、および へのパスphp.iniが正確かどうかです。 PHPパーサーがループから外れていること。

于 2012-10-12T20:15:24.303 に答える
0

あなたのコードは正しいです。php.iniまたはに関連する問題があるに違いありませんapache。ソース コードをチェックして、<?phpコードがエスケープされているかどうかを確認します。. である場合は、このコードを一番上に置い error_reporting(E_ALL);てデバッグしてみてください。

于 2012-10-12T20:32:54.250 に答える
-3

入力プロパティを引用符でカプセル化する必要があります。

交換

<input type="text" name=radius size=5>

<input type="text" name="radius" size="5">
于 2012-10-12T20:09:33.323 に答える