-1

私がやりたいことがあなたにとって意味があるかどうかはわかりませんが、どうぞ。if / else を実行しようとしています。これが私がやりたいことの例です。

<?php
if //Here I would like to execute <script></script> 
{
// Then here execute some php code
}
else
{
//do nothing
}
?>

そのようなことが可能かどうかはわかりません。

4

4 に答える 4

4

いいえ、あなたが提案している方法で JS を使用して PHP コードを実行することはできません。PHP はコンパイルされてサーバー上で提供され、ネットワークに送信されます。これは、Web サイトの「フロントエンド」および「バックエンド」コンポーネントの背後にある考え方です。

ただし、任意の種類のバックエンド言語を実行できる JS (google "AJAX") を使用してサーバーにリクエストを送信することはできます。次に、バックエンドが応答したら、JS に DOM を変更するように指示するか、好きなことを行うことができます。

それが役立つことを願っています!

于 2013-08-06T21:57:26.500 に答える
2

AJAX を使用してこれを行う 1 つの例は、次の jquery コードです。

<script type="text/javascript" src='yourotherfile.js'></script>
<script type="text/javascript">

if (functionFromOtherFile()) {
    $.get('somephpfile.php', function(data) {
         $("#output").text(data);
    }
} else {
    $.ajax({
        url: "somethingelse.php",
        context: $("#output")
    }).done(function() {
        alert("Request completed.");
    });
}
</script>

"prototype"では、次のようになります。

<script type="text/javascript">
new Ajax.Request('somephpfile.php', 
{ 
    method: 'get',
    onSuccess: function(data) {
      // do something with data.responseText
    }
});
</script>
于 2013-08-06T21:43:41.650 に答える
0

あなたのコメントから、JavascriptとPHPがどのように機能するか、またはそれらがどのように相互作用するかについて、少し誤解があるかもしれないと思います.

PHP と呼ばれるピザの宅配サービスのようなものです。ハムのピザを注文することはできますが、配達員がドアに到着するとすぐにパイナップルを注文するには遅すぎます。家でピザを食べるように変更することもできますが、パイナップルはありません。基本的に、元の投稿は「配達員にピザを食べるように言ってください」のようなもので、別の言い方をするとうまくいきません。

新しいピザを注文するか (これが私の例です)、別の配達員を雇ってパイナップルのスライスを送ってもらうことができます (これが AJAX アプローチです)。

AJAX を使用する必要はありません。これ (index.php) を試して、その動作が役立つかどうかを確認してください。

この例の特徴:

  • クライアント側での条件の評価
  • 基本的な DOM 操作
  • サーバーのバックエンドにデータを送信するための隠しフィールドの使用
  • サーバー側での送信データの評価
  • 無効な HTML マークアップおよびその他の非ベスト プラクティスの使用

[...]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Simple JavaScript Example</title>
</head>

<body>
  <h2>This is some test</h2>
  <form action="index.php" method="get">
      <input type="hidden" name="condition" />
      <input type="submit" value="Do something" />
  </form>

  <script type="text/javascript">
    <?php
        if ($_GET["condition"]!="blueconditionistrue"){
    ?>
            document.body.style.backgroundColor = "rgb(0, 0, 255)";
    <?php
        } else { echo "alert('That blue was awful, I fixed it for you');"; }
    ?>

    if (document.body.style.backgroundColor == "rgb(0, 0, 255)"){
        document.forms[0].condition.value = "blueconditionistrue";
    }
</script>
</body>
</html>
于 2013-08-06T22:37:00.197 に答える
-2

はい、可能です。

<?php if(true):?>
<script>
//js  goes here
</script>
<?php else:?>
//other
<?php endif?>
于 2013-08-06T21:44:04.460 に答える