JavaScriptとphpでできますか?

このQ&Aのポイント
  • JavaScriptとphpを使用して、Aさんがボタンクリックした時にURLを取得し、POSTデータとしてBさんのサイトのphpを実行し、Bさんのhtmlに出力させる方法についてアドバイスをお願いします。
  • AさんがボタンクリックしたURLをJavaScriptで取得し、POSTデータとしてBさんのサイトのphpに送り、BさんのhtmlにそのURLを出力する方法について教えてください。
  • JavaScriptとphpを使用して、Aさんがボタンクリックした時にURLを取得し、POSTデータとしてBさんのサイトのphpを実行し、BさんのhtmlにそのURLを表示させたいのですが、方法がわかりません。アドバイスをお願いします。
回答を見る
  • ベストアンサー

JavaScriptとphpでできますか?

お世話になります。 ずーっと考えているのですが、実現方法及び、実現できるのかどうか、 で悩んでいます。 アドバイスをお願いいたします。 Aさんが、あるサイトのボタンクリックすると、Bさんの待ち受け画面htmlにつながります。 (ここまでは某APIにて実現しています(電話)) その際に、追加でAさんのURLをBさんのサイトに表示させたいのです。 方法として、Aさんがボタンクリックしたときに、JavaScriptでURLを取得し、 POSTデータにして、ajax通信でBさんのサイトにあるphpを実行。 でも、phpでURLデータは取得できるとして、その後、どうやってBさんのhtmlに出力させるの(既にhtmlは表示されているし)? Bさんhtmlの中の表示させたい<div>などに <?php echo "{$url}"; ?>などできる? もし出来たとして、その場合、Aさんは(ソースコードレベルで)どうやってBさんにデータを渡すの? phpを実行させるの? phpの名前は? Aさん、Bさんのhtmlは同一Webサーバーです。 Bさんのhtmlは最初から表示されています。 考えても、考えても 出来そうで出来ない。。。 こんなことは出来ないのでしょうか? どなたかアドバイスをお願いいたします。

  • jg1wjz
  • お礼率91% (148/162)
  • PHP
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5069/13245)
回答No.2

> ここのところがわからないのです。 言葉だけで説明されているので、実際のプログラム構成が判り辛いので想像による部分が多くなるのをご了承ください。 Aさん側のJavaScriptがURLをAjaxで x.php にPOSTするとします。 x.php では、POSTでデータを受け取ったらDBなりファイルなりにそのURLを記録します。 Bさん側のJavaScriptがAjaxで x.php にGETリクエストを定期的に送ります。 x.php は、GETリクエストを受け取ったら記録したURLを返し、サーバ上の記録を消します。 こうすれば、Aさんがアクションを起こしたことをBさん側で認識でき、そのURLを取得できます。 各々の動作をサーバが中継する形をとれば、某APIとやらに頼らず処理できるように思いますが、細かな仕様や条件次第ですかね。

jg1wjz
質問者

お礼

t_ohtaさん、お忙しいところ有難うございます。 図に描いてみまして、イメージはつかめました。 実は私も全体像といいますか、システムの構成やAPIについては知らさせていなくて、言われたことを実現させてるだけの状態なので、このイメージでいいのか、他に何か懸念事項があるのか確認して、結果をご報告させていただきます。 ちょっと思ったのが、このような方法も話し合っていたみたいでしたが「出来ない」結果になった記憶があります。なんでダメになったのかは当時ちゃんと聞いていなかったのですが。。。 たぶん1対1ではなく、n対nで、AnがどのBnにアクセス(接続)するのかはAPI次第なのかも、、、とちょっと思いました。 いろいろ調べていまして、別ドメイン間の通信とかも出来るけれどセキュリティ的に難しいな、と思ったりしていました。 また何かありましたらアドバイスお願いいたします。 取りあえず自分なりに作りこみをやっておこうと思います。 有難うございました。

jg1wjz
質問者

補足

t_ohtaさん、大変遅くなりました。 やはり、下記のお礼コメントの通り、n対nの仕様のようです。 この課題はステップIIに行うということで、ステップIは終了となりました。IIが始まったら、何か他の方法を模索してみたいとおもいます。 ありがとうございました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5069/13245)
回答No.1

BさんのHTMLでAjaxを利用してサーバに定期的に問合せを行い、AさんのJavaScriptがデータをPOSTしてきたらBさんのAjaxの問合せに対してURLを返してHTMLに反省すればできますね。

jg1wjz
質問者

お礼

t_ohta さん、ありがとうございます。 ちょっとイメージがわかなくて考えているのですが。。。 AのJavaScript:Bのphpではなく、間にもうひとつphpなどをいれて行うということでしょうか。

jg1wjz
質問者

補足

t_ohta さん、定期的に問い合わせするようにb.htmln内にajax関数を作りこみました。n秒単位で動くことを確認しました。 a.htmlで、定期的に動いているphpにデータをPOSTしたのですが 結果はa.htmlに出力されてしまいます。 ここのところがわからないのです。 すみません、よろしくお願いいたします。

関連するQ&A

  • phpからjavascriptを実行したいです

    phpおよびjavascriptで下記を実現したいと考えております。 ある程度、調べてみました煮詰まりましたのでお知恵をおかしください。 初期表示時にはボタンを2つ表示します。 更新ボタンと表示・非表示ボタンです。 表示・非表示ボタンをクリックしますと、 DBの値を取得して画面に出力します。 DBに値がなければ「データなし」と出力します。 また表示・非表示ボタンにはクリックする度にDBから取得した値を出力する領域を display:none、blockで切り替える役割も持たせたいです。 更新ボタンはDBにinsertするだけです。 ======= どちらのボタンがクリックされたかの判定はボタンをformで囲ってsubmit。 $_POST['xxx']で判定。しかしながら$_POST['xxx']で判定してphpを実行しますが display:none、blockも行いたい。どうすれば良いのか、ここで詰まっております。 以上です。

    • ベストアンサー
    • PHP
  • Ajax以外で、JavaScriptからPHPへ渡

    Ajax通信以外で、JavaScriptからPHPへ変数(配列)を渡したいのですが、 可能でしょうか? 下記のような状態の時、js変数dataを、Ajax通信を利用せずにPHP変数として取得したいのですが、どうすればよいでしょうか? JavaScript関数の中で、PHPフォームの送信ボタンをクリックさせる(ような)ことは出来ないのでしょうか? <button type="button" onclick="testsubmit();">送信</button> <script> function testsubmit(){  js処理;  var data = ★★; } </script> ■最終的にやりたいこと ・ボタンをクリックしたら、js処理で取得したjs変数(配列)を、Ajax通信を利用せずに、PHP変数として受け取りたい ・それを出来れば1クリックで処理したい

  • javascriptからphpに配列データを渡す方法

    今、Javascriptからphpに配列データを 渡したいと思っています。 あるcheckboxがクリックされたら、 jqueryのajaxを使用して、 ある1次元配列a[] , b[]をphpに渡し、 処理をして、結果をブラウザに表示します。 配列をどうやったら渡せるのか、 何か方法があれば教えて頂けませんかm(_ _)m

  • JavaScriptからPHPに配列を渡すやり方

    JavaScriptからPHPに配列を渡すやり方を教えてください。 やりたい事は、A.HTMLのJavaScriptで動的に作成された配列をB.PHPにPOSTで渡して、B.PHPに遷移したいと思っています。Ajax、JSONなどのキーワードで検索するとそれらしい回答はあるのですが、B.PHPに遷移したいので、Ajaxでもないような気がして、やりたい事にマッチする回答がありませんでした。配列列をHiddenで渡すしかないのでしょうか。もう少しスマートのやり方がないでしょうか。 よろしくお願いします。

  • 【PHP】 URLデータの取得と実行に関して。

    こんばんは。非常に悩んで困っています。 (参考図)               ┌→上フレーム(A.php)               │               │ aaa.php→bbb.php―┼→中フレーム(B.php)               │               │               └→下フレーム(C.php) もし、A.php ページ内のボタン【B】をクリックしたら、中フレームで B.php ページが表示される仕組みで その時、同時に下フレームの C.php ページで、中フレーム にはどのページが表示されているのかを URLで取得する仕組みにしたいのですが、どうやったよいのでしょうか? 具体的には、その時、B.php ページのURLデータを C.php ページ内のボタン【B】のリンクとなるURLに収納したいのです。 そして、C.php ページ内のボタン【B】を押しても、中フレームで B.php ページが表示される仕組にしたいのです。 自分なりに、セッション関数などを使い色々と試したのですが、どうもうまい事いきません。(汗) ちなみに、セッション関数でデータの受け渡しの仕組みをした場合・・・ A.php のページ内のボタン【B】をクリックしたら、中フレームで B.php ページのURLを B.php ページ内で、セッションの値を $_SESSION['burl'] = $burl; として保存し C.php ページ内のボタン【B】URL指定のところで $_SESSION['burl'] として呼び出しても、値が収納されません。(汗) 【参考】 ・ 上記の参考図の表示がずれていたら脳内変換で宜しくお願いします。 ・ ページはフレームを使用し、上フレーム・中フレーム・下フレームと縦に組んでいます。 ・ bbb.php のページは require 関数で呼び出されるページとなってます。 中途半端な知識で対応できず、苦しんでおります。 ちなみに、私は「PHP」の経験が浅いので、分かりやすく詳しく教えて頂けると非常に助かります。 もし宜しければ何方か、どうか教えて下さい。宜しくお願いします。

    • 締切済み
    • PHP
  • ajaxとphpでapiのデータ取得

    上手にお伝えできるか不安ですが、以下の事象の原因で考えられるものがありましたら、アドバイスいただきたいです。 [処理内容] js(ajax)でphpをたたいて、GAのapiに接続、ページビューを取得して その取得内容もとにphpで静的ファイルを生成(jsonやhtml)して、任意の箇所で表示させています。 アクセスランキングのようなものになります。 ---------------------------------------------------- jsでphp呼び出し→phpでGAにアクセス→GA→phpで受け取る→jsonやhtml生成 ---------------------------------------------------- [気になる事象] GAからのデータの取得やjsonの生成は概ねうまくいっているのですが、時にデータが取得できない時があります。 何故かphpファイルを更新する(ソースに改行を加えただけ)と正しいデータが取得できたりします。 そんなことが動作に影響するのかわからないのですが、また1日後とかにデータを取得して表示させようとすると、 phpファイルを更新しない限り前回取得した状態から更新されなくなります。 キャッシュみたいなものが介在するのかわからないのですが、ajaxの部分の記述でcashはfalseとしています。 ちなみにGAの管理画面ではページビューが取れているので、apiとphpの間が怪しいといえば怪しそうな気もしています。 尚、静的ファイル(jsonやhtml)のタイプスタンプの更新は、js(ajax)にアクセスする度に正しく行われている為、 それらのファイルの生成そのものは問題ないと思われます。 拙い説明で恐縮ですが、 どうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • Javascript+PHPで変数を受け渡したい

    PHP変数の文字列データを、 <a href ="Javascript:xxx($data)">として、関数を実行させたときに、関数側での function xxx(data){ --データで指定されたhtmlへ移動したい } という方法は、実現できないのでしょうか。 Javascriptのエラーでデータの受け渡しができていないみたいなのですが、わかる方教えてください。

  • PHPから別なPHPへ移動(?)する方法

    実現する命令ごとにPHPのファイルを分けて作りました。 A.phpで画面表示して命令によりファイ路を操作するB.php,C.phpを実行。 処理完了後にA.phpに戻るようにしようと思っています。 しかし、B.phpとC.phpからA.phpを表示させる(戻る)方法がわからずにいます。 echo fopen('A.php','r'); でいけるかな?と思っていましたがうまくいきませんでした。 よろしくお願いします。

    • 締切済み
    • PHP
  • Ajax.requestでphpファイルを習得するとwhileが実行されない。

    プログラミング初心者です。初歩的な見落とし等あるかもしれませんがどうぞよろしくお願いします。 現在、AJAX、phpおよびMySQLを使ってWebアプリケーション(もどき)を製作しています。 元のファイル(便宜上a.htmlとします)にてprototype.jsのAjax.Requestを使ってphpファイル(db.phpとします)に向けて送ったパラメータによって処理を分けつつ、db.phpにてMySQLから取得して表示させたデータをさらにresponseTextで取得してa.html上に表示させるというという挙動を期待してコードを書いていました。 しかし取得したresponseTextの内容から推測するに、db.php単体で表示させると機能するwhileが、Ajax.requestでphpファイルにアクセスした場合には機能していないのです。 もう少し詳しく説明しますと、データを格納しているテーブルに対して、select* from [テーブル名] のクエリを投げたあと、 while($row= mysql_fetch_row($result)){ echo row["カラム名"]; } を行ってテーブルの内容を出力していたのですが、 phpファイルのurlをブラウザに直に打ち込んで表示させた場合は全レコードの内容が表示されるのに対し、Ajax.Request→responseTextでphpファイルの内容を取得した場合には、1行目にレコードの内容しか表示されないのです。 while文の後に出力した文字も表示されているのでwhile文の途中でコードの実行が止まったわけではないと思うのですが、いかんせん知識不足の私には対処法が思いつきません…。 誰か対処法について気が付く点等ありましたらご教授願います。

  • ajaxの結果をphpで取得する方法

    お世話になっております。 PHPは全くの初心者ですが、jqueryのajaxでGETした内容を PHPでも使用したく、ご教示願いたいのですが、 以下のajaxの「info.a」の値をphpで使用するには どうすればよいでしょうか。 $.ajax({ type: 'GET', scriptCharset:'utf-8', url: '/hoge.jsp', dataType: 'text', cache : false, }) .success(function(data){ var data = data.split(','); info = { a :data[0], b :data[1], }; }) .error(function(XMLHttpRequest, textStatus, errorThrown) { return false; }); <?php $a = $_GET['info.a']; ?> 何卒よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう