人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPでフォームを介さずにPOST送信する方法を勉強しています。

Googleで検索してfsockopenを使い、思い通りには出来たのですが、以下の点が疑問に思います。

1:確認画面がある場合はどうするのか?
掲示板投稿やお問い合わせフォームでも、だいたい確認画面があります。
最近のプログラムは、フォーム→確認→完了と、ファイル名が個別に分かれていません。

2:会員制の場合はどうするのか?
当機能を作成しようと思った用途は、「ローカル上でブログの記事を書いて、PHPでPOST出来れば便利」
だと思い、調べていたのですが、会員制の場合はどうなるのでしょうか?
クッキーの場合は問題ないと思いますが、今はだいたいセッションだと思うので、
その場合はどうすればいいのでしょうか?


具体的なソースを書くのは難しいかと思いますので、参考URLやプログラムの考え方について
アドバイスいただければと思います。よろしくお願いします。

●質問者: k27w
●カテゴリ:ウェブ制作
✍キーワード:Google PHP URL アドバイス クッキー
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●35ポイント

1:確認画面がある場合はどうするのか?

確認画面のボタンは、たいてい、submit または button オブジェクトです。

これらのオブジェクトを form から送出したように見せれば良いだけです。手順は、fsockopen で POST 渡ししたときと同じです。もしかすると GET 渡しだけで十分かもしれません。

「ファイル名が個別に分かれていません」というケースでは、GET/POST 渡されたパラメータの値によって動作を変えているはずです。正しいパラメータを渡せば済みます。


2:会員制の場合はどうするのか?

Cookie で識別している場合は、すでに成功している fsockopen を用いた手順で送ることができます。ただし、あらかじめ、PHP で有効な Cookie を受け取っておかなければなりません。

ブラウザで正規のログインをしていれば、ローカルディスクの Cookie の中に目的の値が格納されています。これを取り出せばいいでしょう。

さもなければ、PHPを使ってログインを行い、返信されてくる Cookie を受け取ります。


セッションについては、セッションIDというものを Cookie または POST 渡ししてくるので、これを受け取れば済みます。


なお、fsockopen 関数より、CURL 関数を使った方がコーディングが短くなります。とくに fsockopen 関数がSSL通信をラッパしていないとアクセスできません。この場合は CURL 関数を使うのが第一選択となります。

詳しい手順は「PHPセキュリティ対策:SSL通信を行う」を参考にしてください。


参考サイト

◎質問者からの返答

ちょっと難しそうですが、参考にさせていただきます。ありがとうございました。


2 ● shintabo
●25ポイント

/* curlが書かれていたので、書こうとしたのですが */

/* 探したら同じことを書いてるところがありましたので、URLを貼ります */

http://itpro.nikkeibp.co.jp/article/COLUMN/20070704/276685/

◎質問者からの返答

こちらの方がわかりやすいですね。ありがとうございます。


3 ● machiii
●20ポイント

HTTP送信のクラスが便利だと思います。

http://framework.zend.com/manual/ja/zend.http.html

クッキーの保持などかなり便利です。

http://snoopy.sourceforge.net/

単純なGET,POST送信とかにオススメ

READMEにサンプルあります。

◎質問者からの返答

フレームワークの機能ですね。参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ