[PHP-users 1070] Re: session 管理と i-mode(J-PHONE)

Masayuki Tadano php-users@php.gr.jp
Fri, 03 Aug 2001 21:19:22 +0900


但野です。

> 私もPHPのセッション管理にそれほど精通しているわけではありません
> ので、外しているかもしれませんが、
> b.phpのsession_start() を外して暗黙のセッション開始にしてみても
> 動作は同じでしょうか?(同じかも)

結局このようにして見ました。
a.php:------------------------------------
<?php
    if (!session_id()) {
        session_start();
    }
?>

<html>
<head>
<title> Session Start Page </title>
</head>

<body>
<?php
    echo $PHPSESSID;
?>
<form action="b.php?<?=SID ?>" method="get">
<input type="text" name="item" maxlength="100" >
<?php echo $item; ?>
<br>
<input type="submit">
</form>
</body>
</html>

b.php:------------------------------------
<?php
    if (!session_id()) {
        session_start();
    }
    session_register("item");
?>
<html>
<head>
<title> Session Regist Page </title>
</head>

<body>
<?php
    echo "item = ". $item . "<br>";
    echo "ID=" . $PHPSESSID . "<br>";
?>
<a href="c.php"> goto c.php </a>

</body>
</html>
b.php:------------------------------------

ここで、b.phpのセッション開始をコメントアウトしても同じでした。


> なんか、表示される内容が更新されないのが正常動作に見えるのですが。。。

PCでブラウザでクッキーを受け入れると、戻るボタンを押したときには、
SIDの値がつかない状態のページになっていますね。


> > クッキーを受け入れると、最初の1回目の値のままです。i-mode や J-PHONE
> > でも同じです。
> 
> だとすると、i-modeやJ-PHONEでもCookieが効いてる?そんなはずは。。^^;;

ですね。というか、apacheのログを見ていると、PCの場合はクッキーを
受け入れないと、再度ページのリクエストに行っているようですが、携
帯の場合は、戻るを押しても、リクエストが来ていないので、PCでクッ
キーを受け入れたときと同じ動きをするのかもしれません。
# apacheのログを見ると、default.ida?NNNNNN・・・がある〜。

> とゆーか、最初のレスに書いたように携帯電話ブラウザの場合、
> FORM周りの仕様にいろいろ制限があったり、キャリアに独自の予約変数名
> があったりするので、端末IDを使用するか、自前で振ったIDを引き継いで
> いくのが一般的なはずです。
> 詳しくは言えませんが、少なくともJ-PHONEでPHPのセッション管理
> 使うのはまずそうです。

携帯はともかくとして、PCの場合は上記のようにブラウザの戻るボタンで
戻った場合にはどのようにすれば、セッション情報が更新されるのでしょ
うか。
php.iniで、クッキーを使わない設定にして見たら、更新されるのですが。
# PCの場合のみ。i-modeはだめでした。パケット代がかさむなぁ。