2

PHP ページ全体がテキストとしてのみ表示され、PHP コードは実行されません。<? phpinfo(); ?>test.php ファイルを使用してテストすると、テストが成功し、Apache サーバーで動作するため、奇妙です。しかし、私が何か他のことをしようとすると。テキストとしてのみ表示されます。

編集:コードへのリンクは次のとおりです。ここに投稿する方法がわかりませんでした。ペーストビン

<?php
  // create short variable names
  $tireqty = $_POST['tireqty'];
  $oilqty = $_POST['oilqty'];
  $sparkqty = $_POST['sparkqty'];
  $find = $_POST['find'];
?>
<html>
<head>
  <title>Bob's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php

    echo "<p>Order processed at ".date('H:i, jS F Y')."</p>";

    echo "<p>Your order is as follows: </p>";

    $totalqty = 0;
    $totalqty = $tireqty + $oilqty + $sparkqty;
    echo "Items ordered: ".$totalqty."<br />";


    if ($totalqty == 0) {

      echo "You did not order anything on the previous page!<br />";

    } else {

      if ($tireqty > 0) {
        echo $tireqty." tires<br />";
      }

      if ($oilqty > 0) {
        echo $oilqty." bottles of oil<br />";
      }

      if ($sparkqty > 0) {
        echo $sparkqty." spark plugs<br />";
      }
    }


    $totalamount = 0.00;

    define('TIREPRICE', 100);
    define('OILPRICE', 10);
    define('SPARKPRICE', 4);

    $totalamount = $tireqty * TIREPRICE
                 + $oilqty * OILPRICE
                 + $sparkqty * SPARKPRICE;

    echo "Subtotal: $".number_format($totalamount,2)."<br />";

    $taxrate = 0.10;  // local sales tax is 10%
    $totalamount = $totalamount * (1 + $taxrate);
    echo "Total including tax: $".number_format($totalamount,2)."<br />";

    if($find == "a") {
      echo "<p>Regular customer.</p>";
    } elseif($find == "b") {
      echo "<p>Customer referred by TV advert.</p>";
    } elseif($find == "c") {
      echo "<p>Customer referred by phone directory.</p>";
    } elseif($find == "d") {
      echo "<p>Customer referred by word of mouth.</p>";
    } else {
      echo "<p>We do not know how this customer found us.</p>";
    }

?>
</body>
</html>
4

1 に答える 1

5

php.ini で がオフになっているため、サーバーはそれを開始タグとして認識しませんが、変更されたコードはをtest.php使用する10 ドルを賭けても構わないと思っています。<?php<?short_open_tags

多くの書籍は<?開始タグを使用していますが、ほとんどのサーバーは長いバージョン ( <?php) しかサポートしていません。その場合は、単純なものをすべてに変更<?する<?phpとうまくいきます。

PHP コードは 1 つのケースでのみ公開されます: PHP インタープリターがそれを PHP コードとして識別しない場合。これは、次の 2 つの問題によってのみ発生する可能性があります。

  • php ファイルをまったく処理しない Apache (または他の http サーバー) の構成が間違っています。
  • PHP ファイルの開始タグが正しくないため、PHP はコードの開始時点を認識できません。

ファイルが *.php である場合、Apache が PHP インタープリターを介して *.php ファイルを提供するように設定されている場合、標準のオープン タグが使用されているか、PHP が他のタイプの使用済みタグを使用するように構成されている場合、およびこの PHP ファイルにアクセスしている場合ブラウザーを介して、PHP がこのコードを公開することは決してありません。

于 2012-05-21T22:08:22.993 に答える