[PHP-users 20145]Re: セッションが復元できない理由を検証する方法
yoshiyuki fukutome
tome @ nekomyu.org
2004年 1月 31日 (土) 11:11:33 JST
ふくとめです。
セッションって、一連のリクエスト中、同一の端末に対して必要
な情報を維持するということができればいいのですよね。
1. 端末(ブラウザ) --- リクエスト --> HTTP サーバー
2. 端末(ブラウザ) <-- レスポンス --- HTTP サーバー
1. のリクエストでは端末を特定できる情報を送り、2. レスポン
スでその端末のために保存しておいた情報を復元し、必要な応答を
する。
サーバーの行うべき情報を保存しておくという部分は PHP で簡単
に処理できますので、あとは端末を特定する方法を考えればいいのだ
と思います。端末から固有の識別子を送ってもらうには、
URL 埋め込み。
FORM 要素中の INPUT(type="hidden") 要素に埋め込む。
Cookie を使用する。
という方法がありますが、セッション情報を復元できればいいとい
うだけであればどれでもいいはずです。
Vodafone Developers Support Site のウェブ技術資料ダウンロード
ページ
http://www.dp.j-phone.com/dp/tool_dl/web/tech.php
# あら、Vodafone のページは PHP なのね。
に資料が公開されているので、一読してみることをお勧めします。
Vodafone の端末には C 型, P 型, W 型という端末の種別があるそ
うで Cookie を受け付ける機能を持っているのは、W 型のみというこ
とです。
エミュレーターの仕様がどうなっているのかよくわからないですが、
全ての端末で機能することを考えれば、URL 埋め込みか hidden で送
る。というのが確実ですね。
もっとも確実な検証方法は、現行機種全てでテストすることですが、
Vodafone 端末が満たしていなければならないとされる仕様に沿って
アプリケーションを作り、いくつかの端末で検証する。ということで
十分な場合もあるかと思います。
PHP がどのようにセッション処理を行っているか、端末がどういう
仕様のブラウザを持っているか、PHP とブラウザ間でどのようなメッ
セージがやり取りされるのかを理解すれば、問題があったときの対処
方法も思いつくようになるはずです。
では。
On 01/31, MT wrote:
> 今晩は。MTです。
>
> 引き続きセッション関連なのですが、docomo,au そして普通のブラウザではセッションでデータの復元ができるようになったのですが、vodafone(J-PHONE/3.0/J-SH08) では普通にやってもセッションが復元できません。
>
> セッションIDを自分でURLパラメータとしてくっつけたり、hiddenに入れたりするとうまくいく事は確認しました。
>
> VODAFONEのエミュレータ(919シミュレータ)はステーション未対応程度を想定していると思うのですが、そちらでは特に意識しなくてもセッションを復元できます。
>
> 手持ちのvodafoneは先ほどの通り、自分でなんとかしなければなりません。
>
> 今回も一応対処はできているのですが、問題がネットワークなのか、機種の問題なのか、スクリプトの問題なのかわかりません。きちんとした理由と対処方法を理解しておきたいと思うのですが、こういう場合の検証方法はどうすればよいのでしょうか。
>
> よろしくお願いします。
> --
> MT <akc @ mutt.freemail.ne.jp>
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
--
fukutome yoshiyuki
tome @ nekomyu.org
PHP-users メーリングリストの案内