[PHP-users 34333] セッションを使ったページへのアクセスについて

ピーシークリエイト tamura @ jazz.email.ne.jp
2009年 3月 6日 (金) 15:20:12 JST


田村といいます。

セッションを使用した買い物籠を製作中で、セッションを使用したページへのアクセスについて
次のような内容を改善したいと思っています。
(確認のブラウザーはWindows Internet Explorer 7を使用しています。)

ページ1:mart.html (買い物籠付き商品リストページ)

            <FORM action=./mart.php method=post>
                                |
                                |
            <INPUT type=submit value=カゴに入れる>
            </FORM>

ページ2:mart.php (ページ1より買い物をされた商品に対してセッションデーターの読み書き)

            <?php session_start();
            ?>
                                |
                セッションデーターの読み書き


上記ページ1から「submit釦」を押してページ2に飛びページ2を表示させます。
その後ブラウザーの「前ページに戻る」釦を押してページ1へ戻ります。
次にブラウザーの「次ページに進む」釦を押してページ2を表示させる場合、次のようなコメントが出てページ1が表示されません。

「Webページの有効期限が切れています。
ページを再表示するにはツールバーの「更新」ボタンをクリックしてください、、、、」 


ページ2にセッションを使用せずクッキー等を使った場合ですとこのようなコメントは出ません。

セッションを使ったページに対してはこのようなことは避けられないのでしょうか?
ご教授をお願いします。







Web ページの有効期限が切れています。
ページを再度表示するにはツールバーの [更新] ボタンをクリックしてください。更新後、特定の Web ページへ再度移動したり、情報を再入力する必要がある場合もありま 
す。


----- Original Message ----- 
From: "c-atwork" <ml @ c-atwork.com>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Thursday, March 05, 2009 7:52 AM
Subject: [PHP-users 34330] Re: カゴヤサーバで携帯のみ文字化け


> 加藤です
>
> 最近の携帯はUTFのままでも大丈夫、という話もありますが。
>
> 蛇足かもしれませんが、念のため明示的に
> if (!headers_sent()){
> header('Content-Type: text/html; charset=sjis');
> }
> などと入れておいたほうが良い気がします。
>
>
>> KZです。
>>
>> 読み返してみて、szkさんが誤解している、というか、私が説明不足
>> でしたので追記です。
>>
>> 今回の文字化けはブラウザが文字コードを誤認するということではな
>> く、出力前にPHP内部で文字化けしてしまうという問題です。携帯のみ
>> 文字化けという表現がまずかったです。正確には、
>>
>> mb_http_output('SJIS-WIN')で文字化け
>>
>> と表現すべきでした。
>>
>> --
>> KZ
>>
>>
>> On Wed, 04 Mar 2009 21:05:26 +0900
>> レバレッジファーム <suzuki @ leveragefarm.jp> wrote:
>>
>>> szkです。
>>>
>>> こんなの見つけましたよ。
>>> http://iidx.jp/archives/2008/01/mb_http_output.html
>>>
>>> $strの中身は「通常の文字列」と言いたい気持ちは重々わかります
>>> が、しょせんはコードの並びなので、表示させたい端末さんにとっ
>>> てわかりやすいコードの並びを$strに入れてあげないといけないの
>>> ですよね。
>>>
>>> えっと、それから
>>> mbstring.http_output
>>> ってのはec-cube用の定義関数なので、ec-cubeのマニュアルも参考
>>> にした方がいいかもしれませんね。
>>> http://wiki.ec-cube.net/
>>>
>>> あと私もはまったのですが、EC-CubeはPHP4用のオブジェクト指向
>>> で作られています。それをPHP5でも使えるようにもしてあるので、
>>> 今後カスタマイズを進めるならそのことも頭に置いておいた方がい
>>> いですよ。
>>>
>>> PHP5のオブジェクト指向でそのプログラムを眺めると「動いている
>>> のに、なんでやね〜ん」とはまります。
>>> ちょっとしたコマンドもしかり。
>>>
>>> ではでは
>>>
>>>
>>> On Mon, 2 Mar 2009 18:32:30 +0900
>>> KZ <kz @ ykc.zapto.org> さんは書きました:
>>>
>>>> KZです。
>>>>
>>>> まつやま様、Chatii様、ご返信ありがとうございます。
>>>>
>>>> 一応解決しましたので、ご報告致します。
>>>>
>>>> こちらのプログラムは、スクリプトはすべてUTF-8、
>>>> 内部文字コードもUTF-8です。
>>>>
>>>> 携帯版の出力関連は、
>>>>
>>>> if(ini_get('mbstring.http_output') != 'SJIS-WIN'){
>>>>     mb_http_output('SJIS-WIN');
>>>>     ob_start("mb_output_handler");
>>>> }
>>>> echo $str; //$strは生成されたHTML(通常の文字列)
>>>>
>>>> としていました。
>>>>
>>>> プログラム全体を通して、ブラウザへの出力はこのecho
>>>> のみですので、今回はまつやま様のアドバイスを参考に
>>>> させていただき、
>>>>
>>>> //削除 if(ini_get('mbstring.http_output') != 'SJIS-WIN'){
>>>> //削除     mb_http_output('SJIS-WIN');
>>>> //削除     ob_start("mb_output_handler");
>>>> //削除 }
>>>>
>>>> echo mb_convert_encoding($str,'SJIS-WIN','UTF-8');
>>>>
>>>> とすることにより、現象は一応解決としました。
>>>>
>>>> mb_convert_encoding() は外部ファイルを読み込む部分
>>>> や、form入力部分では使用していますが、ここで使うと
>>>> いう発想が、情けないことにまったく出ませんでした。
>>>>
>>>> ただ、設定のどこがこの現象を引き起こしているのかは
>>>> 判明していませんので、気持ち悪いのですが。
>>>>
>>>> では。
>>>>
>>>>
>>>> --
>>>> # ページのエンコーディングがおかしいだけではありませんw
>>>> KZ
>>>>
>>>> _______________________________________________
>>>> PHP-users mailing list  PHP-users @ php.gr.jp
>>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>>> http://oldwww.php.gr.jp/php/novice.php3
>>> @レバレッジファーム
>>> _______________________________________________
>>> PHP-users mailing list  PHP-users @ php.gr.jp
>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>> http://oldwww.php.gr.jp/php/novice.php3
>>>
>>
>> _______________________________________________
>> PHP-users mailing list  PHP-users @ php.gr.jp
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>>
>>
>>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3 



PHP-users メーリングリストの案内