2017-03-03 4 views
-4

私はecho内にJSを追加したPHPファイルを持っています。 私はその内部でPHPの機能を使用するには、今すぐスコープをJS、どのように私はそれを行うことができます:PHPのJSをPHPファイルで使用する方法

<?php 
    echo '<script> 
    <?php 
     function message() { 
     echo "You will be redirected"; 
     } 
    ?> 
    setTimeout(<?php message();>?,3000);</script>'; 
?> 
+0

クライアントとサーバーのコードとその違いを分ける必要があります。 –

+0

この質問は非常に品質が低いので、私はこの質問を議論の対象外としています。 –

+0

あなたは何を達成しようとしていますか? – 4castle

答えて

0

PHPはサーバー上で、最初に実行されますので、あなたが.phpのファイルでそれをコーディングしなければならない、ことを確認しますサーバーは、PHPを通してそれを実行し、それはそうのようなJavaScriptでPHPを埋め込むています

<script> 
function message(){ 
    alert("<?= $phpMessage ?>"); 
    location.href = "http://www.example.com" /* The URL you would like the user to go to next */; 
} 
setTimeout(message,3000); 
</script> 

あなたはPHPからのメッセージを表示したいと仮定すると、あなたは< = $ phpMessageよう警告文でそれを埋め込むこと? ?>。これはあなたのユーザーにとっては厄介なことです。

もっと優秀な解決策は、セッションストレージを使用してメッセージを次のページに渡すことです。

データを受け取ってメッセージを送信する必要があるページで、出力が送信される前の最初のPHPコマンドは、session_start()である必要があります。メッセージは$ _SESSION [「メッセージ」]とのセッション変数に保存することができる、それはそうのように、次のスクリプトのために利用できるようになります:(最初のページ)one.php

<?php session_start(); $_SESSION['message'] = 'My Message'; 

two.php(2ページ)2番目のスクリプトが使用する必要があることを

<?php session_start(); echo $_SESSION['message']; unset($_SESSION['message']); ?> 

お知らせ解除を入力してメッセージを消去します。

+0

おそらく、彼はインラインPHPファイルを置くことも、基本的にはPHPでファイルをレンダリングすることもできます(そして手動でヘッダを設定することもできます)。 – Areeb

0

あなたが何をしても、JavaScriptはページのコンテキストでPHPを実行できません。あなたの例に基づいて、とにかくPHPでやりたいとは思わないでしょう。

あなただけのメッセージをユーザーにリダイレクトする前に出力したい場合は、単独のJavaScriptは仕事のための適切なツールです。

<script> 
    function message() { 
    document.write("You will be redirected"); 
    } 
    setTimeout(message,3000); 
</script> 

私はそれが理にかなっているシナリオを考えるしようとしていますあなたが尋ねたように、PHPとJavaScriptを混在させることはできますが、できません。あなたが本当に主張すれば

しかし、...

<?php 
    function message() { 
    return "You will be redirected"; 
    } 

    echo ' 
    <script> 
     setTimeout(() => document.write("' . message() . '"), 3000); 
    </script> 
    '; 
?> 

は、JavaScriptの矢印関数の構文は supported by all current browsersであることを https://repl.it/GF2E/0

ノートで試験しています。

関連する問題