[PHP-users 4750] Re: 確認ダイアログ処理

Go Yano php-users@php.gr.jp
Wed, 16 Jan 2002 15:27:46 +0900


矢野です。

JavaScriptはクライアントサイドで処理され、PHPはサーバーサイドで
処理されます。
PHPの処理が走った結果がクライアントに送信され、JavaScriptが動き
ますので、JavaScriptの処理結果によってPHP処理を走らせたい場合に
は、新たにPHPファイルを呼び出す必要があります。

> <?php
> print("<script language=\"JavaScript\">");
> print("rtn = confirm(\"データが存在します。上書きしますか?\");");
>
> /* この後 true,falseをPHP変数に渡したいのですが、うまくいきません。*/

ここで、
if(rtn==true){
    window.location.href="true.php3";
    //もしくは window.location.href="page.php3?rtn=true";
}    else {
    window.location.href="false.php3";
    //もしくは window.location.href="page.php3?rtn=false";
}

のようなJavaScript文でPHPファイルに渡してあげるだけですね。
一度の読み込みで不可能なのは、先ほど言った通り、サーバー(PHP)→
クライアント(JavaScript)の処理順序のためです。
処理が走る前のページで工夫するなどして下さい。