• ベストアンサー

phpを利用してPOSTメソッド送信し、そのまま画面遷移をしたいのですが・・・

PHPを利用してPOSTメソッドで情報を送信し、その送信先に画面遷移をしたいのですが、よくわかりません。 hiddenで情報を格納してbodyでonloadにformをsubmitする方法を取っていたのですが、それでは画面遷移中にESCキーを押されると送信情報を読み取られるおそれがあるのでその方法はやりたくないのです。 調べてみると、curl関数を利用すると、実現したいことが実現できると書かれているページも見つけたのですが具体的な方法がよくわかりません。 参考になるページや方法など知っている方は教えてください。 よろしくお願いします。

  • mundi
  • お礼率75% (6/8)
  • PHP
  • 回答数3
  • ありがとう数6

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

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

>curl関数を利用する コレをするのであれば、 fsockopenのほうが利用しやすいかもしれません。 サイトのドメインにアクセスして、適正な生のHTTPヘッダを挿入して、通信するという方法です。(curlも一緒ですがExtensionが入っていないと使えない。) http://www.spencernetwork.org/memo/tips-3.php 上記URLでfsockopenを使ったHTTPクライアントという記事がありますので見てみてはいかがでしょう。

mundi
質問者

お礼

ご回答有り難う御座います。 sock通信というものがあるのですね。 いろいろ勉強になります。 リンクしているページを参照して検討したいと思います。

その他の回答 (2)

noname#93451
noname#93451
回答No.3

送信したデータは利用者が入力したデータで、ESCキーを押すのは利用者ならまだデータは送信されずクライアント側にあるので、データは利用者が見ながら利用者が自分で入力したデータだから、見えても問題ないです。送信されてないので誰にも見られないです。データが盗まれるのはサーバーからなのでサーバーに到着したデータがすぐに暗号化されていればクライアント側で暗号化されていなくても良いと思いますよ。 クライアントからデータを受信したデータをサーバーが自分で暗号化して受け取り、サーバーからクライアントに送るときにクライアントに見えるように暗号を複合してからクライアントに送ると言うのが暗号化だし。 もともと鍵は鍵をかけた側が持ってるから、サーバーだけが鍵を掛けたり鍵を外すのが暗号化の基本姿勢なので、元々クライアントが自ら入力したデータがクライアントから見えることが問題なのではなく、送信されたクライアントのデータをサーバーが鍵を掛けずに保存することがサーバーのデータを盗まれた時に問題になるわけだから、クライアント側で入力したデータを送信する方法に凝ってしまうことはナンセンスだと思います。 気にしない気にしないです。

mundi
質問者

お礼

ご回答有り難う御座います。 普通ならば、そこまで心配する必要がないのですが、私が今回、実現したいシステムは、(クライアント側が入力した情報)+(送信サーバに送る際に送信側サーバが誰なのかという情報)を一緒にして送るため、後者部分はクライアントが知らない情報となっております。 その後者側の部分の情報はサーバ側のみで管理していますので、クライアント側に知られるとよくないと思いました。

mundi
質問者

補足

ご回答有り難う御座います。 普通ならば、そこまで心配する必要がないのですが、私が今回、実現したいシステムは、(クライアント側が入力した情報)+(送信サーバに送る際に送信側サーバが誰なのかという情報)を一緒にして送るため、後者部分はクライアントが知らない情報となっております。 その後者側の部分の情報はサーバ側のみで管理していますので、クライアント側に知られるとよくないと思いました。

  • tom233
  • ベストアンサー率17% (61/352)
回答No.2

そこまで心配するならPOSTで送らずにセッションでも使った方がいいですよ。

mundi
質問者

お礼

ご回答有り難う御座います。 別の方法として、セッションというのがあるのは知りませんでした。 セッションについて調べ、検討したいと思います。

関連するQ&A

  • cURL関数を使用したphpからのpost送信と画面遷移

    cURL関数を使用したphpからのpost送信と画面遷移 とある事情で、どうしてもphpからpost送信をしなければならず、 且つ指定したURL先に画面遷移してほしいと考えております。 現状はpost送信自体は成功しているのですが、指定したURL先への画面遷移方法がわかりません。 無理にこの関数を使用した方法で実装をしたいわけではありませんが、 フォームのサブミットを押してpost送信をする処理と、同等の事をphpからpost送信、画面遷移が出来る方法があるのでしょうか? ご教授よろしくお願い致します。

    • 締切済み
    • PHP
  • phpのログイン後の画面遷移について

    現在、phpで会員制サイトを作成する勉強をしています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 よく、会員制サイトで、非会員又は未ログイン状態でも、ある程度までページが閲覧でき、 詳しいページを閲覧するにはログイン又は新規会員登録を促すといった仕組みを見かけます。 そのような場合、ログイン後、画面は元のページ(ログイン前に操作していたページ)に戻る必要があると思うのですが、 この場合のphpプログラムは、 ログイン画面に遷移する前のページで empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); でページのURLを取得し、 ログイン画面のページへ移動するためのボタンが押されたらinput-type="hidden"でログイン画面のページにURLを受け渡し、 ログインが成功したら取得したURLに遷移させる という流れで正しいでしょうか? また、非会員が会員登録する場合のページ遷移に関して少し疑問に思うことがあります。 大体非会員のユーザーが新規登録する場合、 新規登録フォームより会員登録後はログイン状態でTOPページに戻ることが多いですが、 それが一般的でしょうか? 会員登録後に登録前に閲覧していたページに遷移させられればユーザーにとっては一番親切だとは思いますが、 最近ではほとんどのサイトが『仮登録用に入力されたメールアドレス宛に本登録用のURLを記載して送信する』という会員登録方法を使用していますが、 前にいたページに遷移させるというのは物理的に難しいため、会員登録後はTOPページに戻しているのでしょうか? また、ログインが必要なページでは issetでセッション変数に情報が含まれているかどうかで、ログイン画面を表示するか 会員閲覧ページを表示するか分岐させると思いますが、 このプログラムはしょっちゅう使われると思うので 別ファイル化して呼び出すのが賢明でしょうか? ご回答、よろしくお願いします。

    • 締切済み
    • PHP
  • ASP.NET による画面遷移で質問です。

    はじめまして。 ASP.NETのC#で開発を行っていますが、画面遷移で困っています・・・ A画面 ⇔ B画面 ⇔ C画面 と遷移する場合と、 A画面 ⇔ C画面 へ遷移する場合があり、戻り先が操作により異なります。 その場合、遷移元の情報はどのように保持していいのでしょうか? 現在は、ページ情報(各種コントロール情報・遷移元画面名)クラスを作り、Listに格納しセッションにて保持しています。 しかしなが、使い勝手が悪く(作り方が悪いのか・・・)困っています。 一般的にはこのような画面遷移のシステムを作る際はどのように作成するものなのでしょうか?宜しくお願いします。

  • PHPを用いてPOSTし、リダイレクトする方法

    お世話になります。 PHPを用いてリダイレクトさせたいのですが、リダイレクト先にはHTTPリクエストのPOSTを用いて情報を送信させる方法を教えてください。 いろいろ調べたのですが、 curl関数やfsockopen関数では、POSTでリクエストして、レスポンスが返ってくるので、望むような方法が実現できません。 なぜ、リダイレクトさせたいかというと、リダイレクト先は違うhostなので、画像やcss、formなどがうまく表示・動作できないようになってしまうためです。 送信方法として、フォームによる送信を行いますと、クライアント側に情報を埋め込んで送信するため、セキュリティ的に問題がありますので、PHPから情報を飛ばしたいと考えております。 よろしくお願いします。

    • 締切済み
    • PHP
  • phpでのpost送信について

    今、phpを使用して、データベースに格納されている値にリンクを貼り、その先にpostメソッドで値を渡すスクリプトを書いているのですが、formの書き方が悪いと思うのですがsyntax errorが出てしまいます。 echo '<form name='.X.' method='.POST.' action='.$Link_URL.'>'; echo '<input type='.hidden.' value='.$sql_result[$i]["renban"].' name='.primary.'>'; echo '</form>'; echo '<a href='.javascript:document.X.submit().'>'.$sql_result[$i]["title"].'</a>'; このスクリプトは$iの値によってループしています。 $sql_result[$i]["title"]という値にリンクを貼り、$Link_URLにpostで$sql_result[$i]["renban"]という値を送りたいと考えています。 何分初心者なもので、このやり方が最善かどうかもわかりませんが、改善案をご存知の方はご教授お願いします。

    • ベストアンサー
    • PHP
  • 複数画面を一括で読み込んで画面遷移

    既存の古いシステムをJavaで再構築するプロジェクトに参加しているのですが、 Webアプリでは通常考えられない要件があがっていて困っています。 その要件とは、 「9画面分のHTMLを読み込んで、 ブラウザ上でサーバアクセスせずに画面遷移する」 というものです。 9画面には、それぞれsubmitボタンと画面移動ボタン付きの HTMLフォームが含まれ、 submitボタンを押すと9画面分の項目が送信される、というものです。 既存のシステムがそうなっているらしいのですが、 どのようにして上記要件を達成しているのかが分かりません。 既存のシステムの仕様がまったく分からない状態です。 そもそも上記のような要件は、WebアプリでなくVisual Basicなどの クライアントアプリの要件のような気がします。 Webアプリで実現しようと思ったら、DHTML+JavaScriptを使用することになると思いますが、 サーバ側のStrutsベースのフレームワークとの連携も考えないといけません。 こういった要件を経験した方はいらっしゃいませんか? 簡単なやり方や、実はこんなJavaScriptライブラリがある!など なんでも良いんで教えてください。

  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • PHPで隠しデータをPOST送信する方法

    <form name="example" method="POST" action="example.php"> <input type="text" name="id" value="" /> <input type="password" name="pw" value="" /> <input type="submit" value="ログイン" /> </form> 上記のようなログインフォームがあるとします。 <input type="hidden" />のようにソースを見たらわかってしまう方法ではなく、 クライアント側で完全に見えないよう、id,pwの送信と同時にPHPで隠しデータをPOST送信する方法はございますでしょうか。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 複数の画像ボタンから複数の画面に遷移

    javascript、struts初心者です。 画像ボタンAをクリックするとA.doに 画像ボタンBをクリックするとB.doに遷移するようにしたくて、以下のように書いたのですが、動きません。 【JSP】 <html:form action="/chksubmit" method="get"> <html:hidden property="submitdata" value=""/> <html:image src="../image/aaa.gif" onclick="func_submit('aaa')"/> <html:image src="../image/bbb.gif" onclick="func_submit('bbb')"/> </html:form> 【javascript】 function func_submit(id) { submitdata.value = id; } DispatchActionを使って、submitdataの値を見て遷移先を決めるやり方です。 submitdataに値が入ってくれないため、「そんなメソッドがないよ!」とエラーになります。 どうしてsubmitdataに値がはいってくれないのでしょうか?どなたかご教授お願いします。

  • PHP画面遷移でスクロール位置を保持する

    いつもお世話になっております。 現在、PHP+MySQLでWebアンケートを制作中です。 画面遷移で、アンカーではなくスクロール位置を保持し、 正確に前ページのsubmitボタンを押した時点での表示状態に 戻したいです。 <詳細> q.phpはアンケートフォームです。 send.phpはエラーチェックとDB登録のモジュールです。 comp.phpは(正常に)完了したことを知らせるメッセージページです。 q.phpは、設問数が多いため、アンケートの途中途中に「保存ボタン」を用意しています。 どのタイミングで、どの保存ボタンを押すかは、 途中まで回答していたり、所々回答していたり、全く回答していなかったりと、 いろんなパターンがあると思います。 保存ボタンを押すと、send.phpに移動します。 そこでは、未回答やおかしな点がないかチェックしながら、 その都度、その時点での回答内容がDBに保存されます。 問題(未回答やエラーが)なければ、 comp.phpに移動し、終了のメッセージを表示しますが、 問題がある場合は、q.phpに戻り、問題のある箇所を赤でハイライト等で表示し直します。 このときに、最初にq.phpのsubmitを押した時点と同じ表示状態に戻したいのです。 q.phpにある複数のsubmit(class名、action先はすべて同じ)ボタンを押したときの スクロール情報を変数に格納し、移動先のsend.phpで保持し、(問題あり時に)q.phpに その値を返し、表示位置を同じにするという仕組みを知りたいです。 本番まで日数がないため、最も簡単に実装できる方法をご教授下さい。 なお、ttp://xirasaya.com/?m=detail&hid=175 を読みましたが、 html(PHP?)ソースコードへの実装方法、 javascriptとphpのデータの受け渡し方法等が 不明で実現できませんでした。 また、アンケートを実施(回答)する対象者のブラウザは、ほとんどが、IE6かIE7です。

    • 締切済み
    • PHP