• ベストアンサー

JSのWINOW.CONFIRMの戻り値をPHPで受け取れる?

お世話になります。 数日前に質問させて頂いた者です。 JSでCONFIRMを使って メッセージを表示する方法は分かったのですが・・ その戻り値(TRUE、FALSE)から PHP(MYSQLのクエリ)を実行したい のですが、可能なのでしょか? (↑レンタルサーバでは、らしいこと が実行されています) 戻り値からリンクを貼ろうと 考えたのですが、クエリの内容が(PHPの) JSからのリンクでは渡らないようなので。 すいません、単純にPHP同士でセッション関数 を使えばできるのはわかってるのですが。 あまり画面を遷移させたくないので。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

JSとはJavaScriptの事ですか? 明確に書かないと駄目ですよ。 JavaScriptとして仮定して答えます。 > その戻り値(TRUE、FALSE)から > PHP(MYSQLのクエリ)を実行したい 直接は出来ません。JavaScriptはクライアント(ユーザ側)のスクリプトですから、サーバ側(PHP)では何をやっているのかは分からないからです。 JavaScriptでconfirmの返り値をPHPへ送信する(HTTPリクエスト)必要があります。 例えば、 <script type="text/javascript"> var rt = confirm("あなたは男ですか?"); if(rt){ location.href="man.php"; }else{ location.href="woman.php"; } </script> というようなスクリプトを書いておけば、confirmでtrueだった時にman.phpへ飛びますので、そこでMySQLのクエリを発行すれば良いです。 リダイレクトで飛ぶのが嫌だ、と言う事でしたらAJAX的な方法や画像呼び出しタグでphpを埋込む等の方法をとればサーバへconfirmの結果が飛ばせます。AJAXについては奥が深いので勉強して下さい。 画像呼び出しの場合はこんな感じです。先ほどのif分岐以下を書き換えています。 if(rt){ document.write("<img src=\"man.php\" width=\"1\" height=\"1\"/>"); }else{ document.write("<img src=\"woman.php\" width=\"1\" height=\"1\"/>"); } HTTPでリクエストしなければ、サーバへデータは送れません。

sendaitaro
質問者

お礼

ありがとうございました。 参考にして勉強します。

関連するQ&A

専門家に質問してみよう