• ベストアンサー

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

  • ボタンのクリックで

    すみません。 また JavaScript について質問させていただきます。 ボタンをクリックして処理を実行することができますが、例えば、1回目にクリックしたときには関数 test1() を実行、2回目にクリックしたときには関数 test2() を実行・・・という具合に処理を変えることはできますか? 可能であれば、その方法を教えてください。 よろしくお願します。

  • ラジオボタンを使いphpからjavascriptへ

    現在、ラジオボタンを使い、phpからjavascriptへ変数を持っていくプログラムを組もうと考えているのですが、なかなかうまくいきません。 まず、PHP側のデータ(test.phpという名前で)でラジオボタンを作成し、その選択したボタンの内容をjavascriptへ(test.htmlという名前で)送り、その選択した変数の内容をjavascript内で使いたいのです。 php→phpは簡単にできたのですが、どうにもjavascriptに変数を送ることができないので、もしかして仕様で無理なのかな?と思い始めました。 上記の事柄が仕様的に無理かどうか知りたいです。また、もし可能ならば何か特別な記述などが必要でしょうか?厚かましいでしょうが、簡単なサンプルを記述してもらえればうれしいです(現在つまっているのでヒントだけでもほしいです)

    • ベストアンサー
    • PHP
  • ボタンクリックで

    javascript beginnerです。 「初期状態はOPEN」 「クリックでCLOSE」 「クリックでOPEN」     : となるようなボタンを作成したいのですが 検索してもどうも見つからずわかりません。 教えてください。

  • PHP内でjsファイルの関数は使えないのでしょうか

    こんばんは、Webページ制作の勉強で問題にぶつかり、少々お知恵をお借りしたく質問させて頂きました。 あるPHPファイルの中の <!doctype html> <html> //ここにHTMLの記述があるとします。 </html> のHTMLの記述の中に <script src="example_A.js"></script> <script src="example_B.js"></script> のような形で他のページでも使っているJavascriptのファイルを読み込んで使用しようとしたのですが、一部の処理だけが行われないようのです。 そこでjsファイルの中で使えない記述に共通点が無いか確認してみたところ、 $(function() {   //ここに処理 }); のように、関数のみが動作して居ない事が解りました。 そこで質問なのですが、PHPファイルの中では、<html>の中で記述されたスクリプトだとしても関数の中で記述された処理は使えないという事なのでしょうか? また、もしPHPの中でも関数を動作させる方法があれば、教えて頂けないでしょうか。 宜しくお願い致します。

    • 締切済み
    • PHP
  • JavaScriptで作成されるボタンの動作原理

    JavaScriptの読み方(phpも含む?) あるJavaScriptソースの読み方がわからないので質問させていただきました。 動作原理がわからないJavaScriptのソース <p class="al-c"><script type="text/javascript" src="http://xxxxxxxxx.php?ser=yyyyy&m=fakjlfafask"></script></p> このソースをHTMLに埋め込むとボタン(画像のボタンです)が表示される。 そのボタンをクリックするとJavaScriptで記述されたポップアップが表示されました。 srcのURLにてPHPのソースを呼んでいると思うのですが、これは、どのような仕組みで動作していると考えられるのでしょうか。 なぜなら、HTMLソースの中に「ボタンの画像自体」と「JavaScriptでクリックするイベント」も存在しないためです。 ちなみに、URLをそのままブラウザに打ち込むと「~.js」のダウンロードが開始されるような動作になりました。 最終的にはVBAでJavaScriptボタンをクリックしてポップアップを自動で表示させたいと思っておりますが、実現できますでしょうか? 以上、よろしくお願いいたします。

  • phpからjavascriptの関数呼び出し

    いつも大変お世話になっております。 今回は、phpからjavascriptの関数を呼び出す方法について質問があります。 現在、javascriptから数十個~数百個のURLをphp側にpostして、そのurlのデータを読み込んでいます。 そして、この数十個~数百個のurlを処理している間の途中経過が知りたいのです。 一つ処理するたびにjavascript側のコールバック関数などを呼び出したいのですが、何か良い方法はありましたらご教授下さい。

    • ベストアンサー
    • PHP
  • PHPの書き方について

    メニュー用のPHPと 処理用のPHPに分けて作成しようと考えています。 メニュー用のボタンをクリックすると 処理用のPHPが実行される仕組みです。 この事について幾つか質問させて頂きます。 1.通常、このように分けて作るのでしょうか? 2.分けて作る場合は、どのようにして   メニュー用のPHPから処理用のPHPを呼び出すのでしょうか? 3.分けずに作る場合は   どのようにプログラムを書けば   見やすくなるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • ボタンの処理について。

    拡張子.phpでボタンが2つあるページを作りました。 ボタン1がクリックされた時の処理と、ボタン2がクリックされた時の処理を別々に行いたいのですが、どのようにすればいいのでしょうか。 また、ボタン1がクリックされた時の処理で、変数aに2を代入し、その後、ボタン2がクリックされた時の処理で、変数aに2が代入された状態にするにはどのようにすればいいのでしょうか。 グローバル変数を使うとしたら、使い方を具体的にお願いします。 他のページには飛ばず、同じphpファイル内に記述するとしてお願いします。

    • ベストアンサー
    • PHP
  • 連動ボタンの作り方

    PHPとMySQLにて、ユーザー管理のシステムを作成しております。 ユーザーの検索にて、イニシャルのフィールドより、PHP経由で検索する部分は完成しているのですが キーボードからの入力を極力無くしたいために、「あ」「か」「さ」等のボタンを配して SQLを組み立てています。 現状、「あ」をクリックした場合、「あ」「い」「う」「え」「お」が表示されるようになっているのですが できれば1文字づつ検索できればと、知恵を絞ってます。 現実的な話で、「あ」をクリックした場合、別のボタンに「あ」「い」「う」「え」「お」 「か」をクリックした場合、「か」「き」「く」「け」「こ」と、動的に変化するボタンを生成できれば 理想に近い動作が期待できそうです。 おそらく、JavaScriptを使えば、実装できそうなのですが、とっかかりが無くこまっております。 参考になるような項目等、提示して頂ければ幸いです。 宜しくお願い致します。 イメージ 「あ」「か」「さ」「た」・・・「わ」   (「あ」をクリックした場合) 「あ」「い」「う」「え」「お」   ←動的にValueを変更しPHPを呼び出すSubmitボタン 「あ」「か」「さ」「た」・・・「わ」   (「か」をクリックした場合) 「か」「き」「く」「け」「こ」   ←動的にValueを変更しPHPを呼び出すSubmitボタン

  • VB6 コマンドボタン クリックイベントについて

    教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。

このQ&Aのポイント
  • 資金援助のお願いを断った母 | 従姉の夫の家族との関係に悩む
  • コロナ禍で事業悪化し資金援助 | 従姉の夫の家族から文句が出る
  • 母が悩まず資金援助 | 従姉の可哀そうな状況に我慢
回答を見る

専門家に質問してみよう