2

したがって、html ページで、次のように、php セグメントに javascript コードをエコーさせようとしています。

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">alert("We got the name");</script>';
    }
    else
    {
        echo '<script type="text/javascript">alert("We DID NOT get the name");</script>';
    }
?>

私がオンラインで読んだことから、これは正当な方法のようですが、ページはコメントとして最初の最後のシェブロン (このすぐ下に表示されます) までの最初の部分を読んでいるようです。

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">

次に、else と次のエコーをプレーン テキストとして読み取り、Web ページに配置します。次に、次の JavaScript コード ブロックが通常の JavaScript コード ブロックとして読み取られるため、ページは名前を取得できなかったことを示すポップアップを表示します。閉じ括弧と閉じシェブロンは、追加のテキストとして出力されます。

そのため、最終的にページには

alert("We got the name")'; } else { echo ''; } ?>

プレーンテキストとして印刷され、名前を受け取っていないことを示すポップアップが表示されます.

ここで何がうまくいかないのですか?

4

3 に答える 3

4

ファイルが PHP として処理されていないようです。ファイル名は .php で終わりますか? PHP がインストールされ、Web サーバーに正しく接続されていますか?

編集: 同じページで Facebook リクエストを処理するには:

<?php

if (isset($_POST['facebook_request_field'])) {
  // handle the Facebook request, output any necessary response
  // then exit
  exit;
}

?>
<!-- display the web page normally here -->

したがって、テストページの場合:

<?php

if (isset($_POST['name'])) {
  echo '<script type="text/javascript">alert("got a name!");</script>';
  exit;
}

?>
<script type="text/javascript">alert("No name.");</script>

(これは実際に既に持っているものと機能が同じなので、目的を誤解している可能性があります。)

于 2012-06-01T19:08:04.153 に答える
1

との間We got the signed requestWe got the name、エラーの原因となっている実際のコードが提供されていないと思います。alertそれを再確認し、呼び出しの前に迷子の一重引用符がないことを確認してください。

于 2012-06-01T19:09:29.880 に答える
0

;の後に欠品がありますalert。最初にこれを修正しようとしましたか?

于 2012-06-01T19:09:22.590 に答える