5

問題の簡単な説明: PHP スクリプトをindex.html
ファイル のフッター タグから「インクルード」すると、ローカル Web サーバーで動作するように見えますが、Web サイトにアップロードすると動作しません。すべてのパスが正しいこと、およびスクリプト ファイルに独自の php タグがあることなどを確認したことに注意してください。

問題の詳細
な説明: はい、私は PHP スクリプトを初めて使用します。はい、この質問のバリエーションはおそらく以前に尋ねられたことがあります。私が読んだいくつかの質問に対する回答では、php スクリプト ファイルのパスが間違っていることがわかりました。すべてのパスを確認し、それらが実際に正しいことを確認しました (Web ホスティング サーバー上のパスを含む)。さらに、PHP5 で Apache2 を実行しているローカル サーバーでスクリプトを動作させることには成功しましたが、それを自分の Web サイトにアップロードするときには成功しませんでした。

基本的に、 Vinaora のような単純な Web サイトの Visitor counterというラベルの付いた Stack Overflow の投稿から取得したヒット カウンター スクリプトを実装しようとしています。PHPスクリプトを呼び出すコードは次のようになります....

  <フッター>
    <!-- ヒット カウンター スクリプトの実行 -->
    <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?>
  </フッター>

私のような人にとっては、Web ホスティング サーバーで動作しない理由がわかりません。次のようなスクリプトを呼び出す他の組み合わせを試しました。

  <フッター>
    <!-- ヒット カウンター スクリプトの実行 -->
    <?php include('./php/hitcounter.php'); ?>
  </フッター>

と、

  <フッター>
    <!-- ヒット カウンター スクリプトの実行 -->
    <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?>
  </フッター>

すべての組み合わせはローカル Web サーバーでは機能するようですが、Web サイトでは機能しません! また、他の方法を使用して他のPHPスクリプトを呼び出すことに問題はありません(Webホスティングサーバー上であっても)。

    <form id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post">

アドバイス/提案をいただければ幸いです。

4

5 に答える 5

6

PHP エラーが表示されますか?

まず、エラー報告を有効にする必要があります。

ファイルを含める前にこれを入れてください

ini_set('display_errors',1);
error_reporting(-1);

PHP は何が起きているかを教えてくれるはずです。

何も表示されない場合は、ファイル名 index.html を index.php に変更して、もう一度試してください。

于 2013-11-09T04:15:50.183 に答える
1

インクルードパスで「\」を使用した可能性があります

違う:

<?php include 'includes\header.php'; ?>

機能するには「/」を使用する必要があります。

現時点の:

<?php include 'includes/header.php'; ?>

于 2018-01-23T21:04:17.887 に答える
-1

「インクルード」コードを呼び出しコードに直接貼り付けてみてください。たぶん、誤動作しているのは含まれているコード自体です...

于 2013-11-09T04:22:14.983 に答える
-2

そもそもあなたは完全に間違ったことをしています。

index.html のフッター タグから PHP スクリプトを「インクルード」すると、ローカル Web サーバーで PHP スクリプトが動作するように見えます

完全に間違っている

htmlファイル内にphpファイルを埋め込むようなものはありません(mod_rewrite ...を除いて)。PHP スクリプトを解釈するには、(99% の場合) php 接尾辞を付ける必要があります。このようにして、PHP がそれを通常の PHP と区別し、php インタープリターに送信できるようにします。

簡単に言えば、このファイル (a.html) を作成します。

<body>
abcd<?php echo 'efgh';?>
</body>

ブラウザで結果を確認します - .../a.html を使用します

何が見えますか?

あいうえお

ではない

abcdefgh

その上、常に php を使用する必要があります。その逆ではありません。これを解決するか、間違っている場合は質問を更新してください。

于 2013-11-09T08:33:35.410 に答える