• ベストアンサー

PHPを使って作成したボタンをクリックすると他のPHPの関数を呼び出す

PHPを使って作成したボタンをクリックすると他のPHPの関数を呼び出す処理を 作りたいのですが、 ボタンのクリックイベントを表現する方法は JavaScriptで記述する方法がいいのでしょうか? その場合、JavaScriptからPHP関数を呼び出すには どのように処理をすればいいのかいくら検索しても 出てこなかったため質問をしてみました。 いい処理方法があったら教えてください。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

javascriptから直接PHP関数を呼ぶ事は出来ません。なぜなら、Webページ内に 記述されたjavascriptは利用者のパソコンのブラウザー内で解釈され実行され ています。一方PHPは、Webサーバー内で実行されて、Webページを出力するもの です。javascriptに相互通信機能は基本的にありません。javascriptはWebサー バーにWebページを要求出来るだけで、PHPのページを要求するとそのページに 画面遷移して、遷移もとのページはブラウザーの中からなくなります。 遷移もとを残して制御するためには、 一つはフレーム(インラインフレーム又は、フレームセット)を利用して 遷移先のページを別フレーム内に表示させて、そのフレーム内で目的のPHP 関数を実行させ(もちろんサーバー側の仕事です)結果を表示させる方法 もう一つは、javascriptのAJAX通信を使う方法です。 AJAX通信の場合、javascriptはサーバー側のPHPプログラムにリクエストを GETやPOSTの形式で送り、結果を、テキストファイルや、XMLの形で返して もらって、それを自ページ内に取り込む事になります。

katsumi001
質問者

お礼

ありがとうございます。 早速、Ajaxの方法を使って実験をしています。

その他の回答 (1)

  • HIRSYU
  • ベストアンサー率51% (45/87)
回答No.2

PHPはサーバ側、JavaScriptはクライアント側で実行されるものなので、直接呼び出しは無理です。 ですので下記のような順序で目的のPHPの関数を実行することになります。 クライアント側のユーザが最初のページにアクセス  ↓ サーバ側の最初のページのPHPでHTML(ボタンクリックで次のページにアクセスするもの)を作成  ↓ クライアント側のブラウザが最初のページが作成したHTMLを解釈して表示  ↓ クライアント側のユーザがブラウザ上のボタンをクリック(次のページにアクセス)  ↓ サーバ側の他のPHPの関数を実行するページにアクセスされて、PHPが実行される ボタンをクリックした時の次のページにアクセスする処理は、javascriptのajaxでも、HTMLのsubmitボタンでも、CSSでリンク(aタグ)をボタンのように見せかけるでも、目的にあった(好きな)方法で。

katsumi001
質問者

お礼

ありがとうございます。

関連するQ&A