PHP⇒URL

PHP⇒URL にリンクします。

PHP⇒URL

  1. PHP から単純に URL にリンクする(呼び出す)ときは require($url) を使います。
    例えば次のリンクをクリックすると5秒後に "imgrand.php" を呼び出します。
    PHP で呼び出すのでサーバー上、またはビルトインサーバーで実行して下さい。
    call_url.php を呼び出すと、5秒後に "imgrand.php" を呼び出します。
    Call A と Call B を同時に起動してみて下さい。
    Call A(call_url.php⇒imagerand.php)
    Call B(call_url.php⇒imagerand.php)
    私がお借りしているサーバー上から直接起動してみます。
    "imgrand.php" を呼び出す
  2. "call_url.php" から "imgrand.php" を呼び出します。
    <?php
        sleep(5);
        require("imgrand.php");
    ?>
    
  3. 呼び出される "imgrand.php" は Image Rand で作成済みです。
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=shift_jis">
    <title>Image Rand</title>
    </head>
    <body>
    <h2>random 5-10</h2>
    <?php
        $n= rand(5,10);
        for($i=0; $i<$n; $i++)
        {   print "<IMG SRC=\"img/jewel.gif\">\r\n";
        }
    ?>
    </body>
    </html>
    
  4. ビルトインサーバーを使ってテストしてみます。
    ビルトインサーバーの説明は PHP Install から「ビルトインサーバーを使う」を参照して下さい。
    1. コマンドプロンプトを起動して php.bat を実行します。
    2. ブラウザを起動して http://localhost:8000/call_url.php をURLに貼り付けると imgrand.php が呼び出されて5個~10個の石が表示されます。
    3. 実行が終われば、コマンドプロンプトの画面で CTRL-c(Ctrl を押しながら c キーをタイプ)でビルトインサーバーを終了して下さい。
  5. "call_url.php" の体裁を整えてみました。
    <h2>imgrand.php を呼び出す</h2> の画面が表示されるのは5秒後です。
    <html>
    <head><title>Call PHP</title></head>
    <body>
    <h2>imgrand.php を呼び出す</h2>
    <?php
        sleep(5);
        require("imgrand.php");
    ?>
    </body>
    </html>
    
  6. "call_url.php" から "file_get.php" を呼び出してみます。
    <html>
    <head><title>Call PHP</title></head>
    <body>
    <h2>file_get.php を呼び出す</h2>
    <?php
        require("file_get.php");
    ?>
    </body>
    </html>
    
  7. 呼び出される "file_get.php" は ファイルの入力 で作成済みです。
    (入力する "test.txt" ファイルも必要です)
    <?php
        // test.txt を入力する
        if (($fp = fopen("test.txt","r")))
        {   while(!feof($fp))
            {   print(fgets($fp) . '<br>');
            }
            fclose($fp);
        }
    ?>
    
  8. "call_url.php" から "param_get.php" を呼び出してみます。
    ★このプログラムは正常に実行出来ません
    require() で呼び出すことが出来るのは、パラメータ無しの PHP だけでしょうか?
    <?php
        sleep(5);
        require("param_get.php?v1=1&v2=23&v3=XYZ");
    ?>
    
  9. 呼び出される "param_get.php" は GET Parameter で作成済みです。
    <?php
        $v1= $_GET["v1"];
        $v2= $_GET["v2"];
        $v3= $_GET["v3"];
        print "<p>$v1<br>$v2<br>$v3<br></p>";
    ?>
    
  1. require() からは html を呼び出すことが出来ないようなので?、JavaScript を使って呼び出してみます。
    call_url.php を修正して、私のページを呼び出します。
    ビルトインサーバーを起動して http://localhost:8000/call_url.php を URL に貼り付けます。
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL()
    {   location.href = "http://www.eonet.ne.jp/~maeda/index.html";
    }
    </script>
    
    <?php
        sleep(5);
        print("<script type='text/javascript'>\n");
        print("Link_URL()");
        print("</script>\n");
    ?>
    </body>
    </html>
    
  2. call_url.php から google のページを呼び出します。
    <table border="1"><tr><td><pre>
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL()
    {   location.href = "http://www.google.co.jp/";
    }
    </script>
    
    <?php
        sleep(5);
        print("<script type='text/javascript'>\n");
        print("Link_URL()");
        print("</script>\n");
    ?>
    </body>
    </html>
    
  3. call_url.php から Javascript を使って param_get.php を呼び出します。
    「.」は文字列の連結で「"var v3 = '"」と $v3 と「"';\n"」を連結しています。
    Link_URL() 関数から location.href を使うとうまく呼び出すことが出来ます。
    <html>
    <head><title>Call URL</title></head>
    <body>
    <h2>URL を呼び出す</h2>
    <script type="text/javascript">
    function Link_URL(v1, v2, v3)
    {   str= "param_get.php?v1=" + v1 + "&v2=" + v2 + "&v3=" + v3;
        window.alert(str);
        location.href = str;
    }
    </script>
    
    <?php
        sleep(5);
        $v1= 1;
        $v2= 23;
        $v3= "XYZ";
        print("<script type='text/javascript'>\n");
        print("var v1 = $v1;\n");
        print("var v2 = $v2;\n");
        print("var v3 = '" . $v3 . "';\n");
        print("Link_URL(v1, v2, v3)");
        print("</script>\n");
    ?>
    </body>
    </html>
    
  4. JavaScript は、クライアント側のブラウザによって実行されるのに対して、PHP はサーバー上で実行されます。
    PHP が吐き出すコードは HTML 文、または JavaScript のコードです。
    JavaScript が吐き出すコードは HTML 文、または PHP のコードです。
    JavaScript で PHP のコードを吐き出すときは、生成されたコードでサーバーを呼び出します。
    例えば「Image Click」では、JavaScript で吐き出したコードで "img.php" を呼び出します。
    <script type="text/javascript">
    function MouseClick(num)
    {
        str = "img.php?val=" + String(num);
        location.href = str;
    }
    </script>
    
  5. PHP を呼び出す例題は、次のページを参考にして下さい。
    Anser Jump
    JavaScript Function Call
    JavaScript でボタンを並べる
    Image Click

前田稔の超初心者のプログラム入門
PHP Program