0

すべてのページに表示されるメニューがあります。次のようにファイル名をURLに渡すためのphpが含まれています。これがスニペットです...

document.write('<li><a href="somefile.php?folder=<?php echo "_abc"; ?>">abc</a></li>');
document.write('<li><a href="somefile.php?folder=<?php echo "_def"; ?>">def</a></li>');
document.write('<li><a href="somefile.php?folder=<?php echo "_ghi"; ?>">ghi</a></li>');

これにはcssが含まれており、正常に機能します。メニューを別の.jsファイルとして保存して使用しました...

<script src="js/menucss.js"></script>

...表示したい各ページからロードします。メニューが表示され、cssは正常に機能しますが、phpは解析されず、ページにはphpマークアップが表示されます。私は何が間違っているのですか?

前もって感謝します。ニール

4

4 に答える 4

1

あなたはそのようにそれをするべきではありません。

menu.phpどこかに保存されたというページを用意します。これには次のものが含まれます。

<ul>

    <li><a href="somefile.php?folder=<?php echo "_abc"; ?>">abc</a></li>
    <li><a href="somefile.php?folder=<?php echo "_def"; ?>">def</a></li>
    <li><a href="somefile.php?folder=<?php echo "_ghi"; ?>">ghi</a></li>

</ul>

次に、サーバー側(index.php)にそれを含めます。

<html>
<head>
    <title></title>
</head>
<body>
<header>
    <?php include("main.php"); ?>
</header>
</body>
</html>

このアプローチははるかに優れています。

  • データを取得するために追加のリクエストは必要ありません。
  • データの読み込みのちらつきや厄介な瞬間はなく、メニューはページに直接コーディングしたかのように表示されます。
  • それははるかに高速です。
  • クライアントが無効にすることを選択できるJavaScriptは使用しません。
于 2012-09-01T06:44:05.220 に答える
0

サーバー側とクライアント側を混同します。PHPはサーバー側に関するものであり、PHPコードはサーバー上で解釈されます。JavaScriptはクライアント側に関するものであり、JavaScriptはユーザーがすでにhtmlページを取得しているときに実行されるため、JavaScriptによってクライアント側のhtmlにphpを動的に追加すると実行できません。

于 2012-09-01T06:42:37.460 に答える
0

私が理解したことから、あなたは.jsファイル内でPHPを実行しようとしていると思います。
そのコードをPHPファイルに含める必要があります。

于 2012-09-01T06:45:59.230 に答える
0

発生している問題は、ファイルに対してPHPを実行しようとしていて.js、サーバーがそのファイルに対して構成されていないことが原因である可能性があります。

ファイルの拡張子を次のように変更して.php使用します。

<script src="js/menucss.php">
于 2012-09-01T06:48:12.303 に答える