1

現在、ナビゲーション バーを JavaScript ファイルに入れようとしているので、すべてのページにコード全体を配置する必要はありません。ナビゲーションバーは完全に機能していました.....文字列変数にphpロジックを挿入するまで...これが私の言いたいことです。

    strVar += "             <?php if($_COOKIE['username'] != \"\"){ ?>";
    strVar += "             <div class=\"stack\">";
    strVar += "                 <ul class=\"nav pull-right\">";
    strVar += "                     ";
    strVar += "                         <li>";
    strVar += "                         <p class=\"navbar-text login\">Logged In as: <\/p>";
    strVar += "                         <\/li>";
    strVar += "                         <li>";
    strVar += "                         <p class=\"navbar-text user\">";
    strVar += "                     <?php echo $_COOKIE['username'];?>";
    strVar += "                         <\/p>";
    strVar += "                         <\/li>";
    strVar += "                     ";
    strVar += "                         <p>";
    strVar += "                         <a href=\"..\/php\/logout.php\">";
    strVar += "                         Logout";
    strVar += "                         <\/a>";
    strVar += "                         | ";
    strVar += "                         <a href=\"#\">Control Panel";
    strVar += "                         <\/a>";
    strVar += "                         <\/p>";
    strVar += "";
    strVar += "                 <\/ul>";
    strVar += "             <\/div>";
    strVar += "             <?php } ?>";
document.getElementById("customNav").innerHTML= strVar;

.php ファイルからこのスクリプトを呼び出しています。

<! --NavBar-->
        <header class="row">
            <div id="customNav" class="span12">
                <script src="js/topNavBar.js" type="text/javascript">
            </script>
            </div>
        </header>
        <!--NavBar-->

現時点では、JS スクリプトを通常の html/php コードとして埋め込むと、完全に正常に動作します。しかし、上記のケースを実行すると、php コードは完全に無視されますが、php がまったく書かれていないかのようにバーが正しく表示されます。誰かが理由を知っていますか?

ありがとうございました

4

1 に答える 1

1

あなたはそれを完全に間違っています。サーバー上でコンパイルされ、プレーンなhtml(またはjavascript)としてブラウザーに送信されるため、ブラウザーはphpロジックをまったく見ることができませんでした。また、.js ファイルに php コードを記述することはできません。

できることは次のとおりです。

  1. div(customNav) に入力しようとしている html を php 変数 ($navHtml など) に収集し、ロジックも PHP に保持してから、以下のように js 変数に割り当てます。

    strVar = "<?php echo $navHTML; ?>";  
    document.getElementById("customNav").innerHTML= strVar;
    
  2. ファイルの拡張子を js から php に変更します。

  3. 以下のように script タグ内に含めます。

    <?php include_once "topNavBar.php"; ?>
    
于 2013-06-09T21:07:45.227 に答える