2017-07-29 25 views
2

ここで助けが必要です。私は単純なjs関数を持つメインページのindex.phpを持っています。function1()は、クリックするとページを開き、別のページp1.phpの内容を含むポップアップウィンドウとしてtest.phpを呼び出します。ユーザーがfunction2()をクリックすると、同じページのtest.phpが開かれますが、ページp2.phpとは異なる内容になるように条件を設定する必要があります。PHPでjs関数を呼び出す

index.phpコードは以下のとおりです。

<?php 

    $a = include ("p1.php"); 
    $b = include ("p2.php"); 

    if(isset($_GET['<script>function1()</script>'])) 
     echo $a; 

    else if(isset($_GET['<script>function2()</script>'])) 
     echo $b; 
?> 

私が得る結果はp1.phpとp2.phpの両方の内容は、(test.phpをに反映されていることであるtest.phpを

<script language="JavaScript" type="text/JavaScript"> 
    <!-- 
    function function1(theURL,winName,features) { 
    window.open(theURL,winName,features); 
    } 
    //--> 
    <!-- 
    function function2(theURL,winName,features) { 
    window.open(theURL,winName,features); 
    } 
    //--> 
    </script> 

<td> 
<p><a href="#" class="left-content" onclick="function1('test.php','','scrollbars=yes,width=auto,height=600')">Page 1 contents</a></p> 
</td> 

<td> 
    <p><a href="#" class="left-content" onclick="function2('test.php','','scrollbars=yes,width=auto,height=600')">Page 2 contents</a></p> 
    </td> 

私は、ページ内に以下の条件文を作っています私たちのポップアップウィンドウ)。 p1.phpの内容だけがfunction1()をクリックすることに反映され、p2.phpの内容はfunctions2()をクリックすることに反映されるように、どのように条件付けますか?どんな助けもありがとうございます。

+0

を行っています'function2'も定義されていますか? - ところで、PHPコードでp1.phpまたはp2.phpを取得したことに驚いています。これらの条件は決して真実ではないと考えています。 –

+0

はい、index.phpファイルで - function1(theURL、winName 、features){window.open(theURL、winName、features); }関数2(theURL、winName、features){window.open(theURL、winName、features); } –

+0

PHP関数です... PHPの仕組みを考える必要があります。ページを前処理し、ブラウザにHTMLを送信します。PHP関数はjavascript –

答えて

1

あなたが途中で二つの異なるJS機能を必要としない、すなわちのような?name=value

リクエスト内のURLにクエリ/検索文字列を追加する - 実際には、あなたは何のために任意のJSの機能を必要としません`function1`ある

のindex.php

<td> 
    <p><a href="#" class="left-content" onclick="window.open('test.php?v=1','','scrollbars=yes,width=auto,height=600')">Page 1 contents</a></p> 
</td> 
<td> 
    <p><a href="#" class="left-content" onclick="window.open('test.php?v=2','','scrollbars=yes,width=auto,height=600')">Page 2 contents</a></p> 
</td> 

test.phpを

<?php 
    $a = include("p1.php"); 
    $b = include("p2.php"); 

    var page = isset($_GET['v']) ? $_GET['v'] : 0; 
    if (page == "1") 
     echo $a; 
    else if (page == "2") 
     echo $b; 
?> 
+0

まあ。あなたのコードのマイナーチェンジをしなければならなかったのですが、コンセプトは賢明です!あなたの助けをたくさんありがとう:) –

+0

私のコードのどの部分が間違っていたのですか?将来の読者のために: –

+0

varページを$ page/remove $ a = include ... /に置き換えます。echo $ aをinclude "p1.php"と置き換えます。これは、php関数(URLへのクエリ/検索文字列)を含むindex.php内のリンクをクリックした際の特定のページを反映します。 –

関連する問題