[PHP-users 11217] Re: セッションの受渡しについて
mai
php-users@php.gr.jp
Thu, 31 Oct 2002 09:58:53 +0900
mai です。
> PHP 4.0.3 では、php.ini のひな形として用意されているファイルが
> 二つありますが、それぞれで register_globals の設定値が異なってい
> ます。
>
> php.ini-dist -> register_globals = On
> php.ini-optimized -> register_globals = Off
確認したところ、register_globals = On になっていました。
> > ここに次の行を追加するとうまくいくかもしれません。
> > $download = $_POST["download"];
これも、試しましたが、結果は同じでした。
PHP 4.0.3なので
$download = $HTTP_POST_VARS["download"];
にもしてみましたが、やはり結果は同じでした。
そこで、session.phpを以下のように書き換えてためしたところ、
--出力結果--------------
セッションを追加 testid01:1
セッションを追加 testid02:1
セッションを追加 testid03:1
------------------------
の、ように出力され、チェック項目が反映されたので
変数の受渡しはできているようです。たぶん・・・。
(初心者なだけに、自信がないのですが。)
>しかし PHP 4.0.3 は古すぎる(さまざまな問題を抱えている)ので、
>バージョンアップをお薦めします。
バージョンアップは、考えているのですが
レンタルサーバーでバージョンアップに費用がかかるため
時間がかかっています。
(先日、その件で相談させていただきました。その際はありがとうございました。)
バージョンアップはする予定でいますが
現状で、もしお気づきのことがありましたら、ご教授ください。
よろしくお願いします。
---session.phpの変更内容------------------------------------
<?php
// セッションを開始する
session_cache_limiter("public");
session_start();
//終了
if(isset($HTTP_POST_VARS["destroy"])){
session_destroy();
echo "終了";
return;
}
//セッション書き込み部分
for ($i=1;$i<4;$i++){
$num = $download[$i];
if($num == null){
if($HTTP_SESSION_VARS["testid0".$i]==1){
echo (" セッションを削除 ".$HTTP_SESSION_VARS["testid0".$i]);
session_unregister("testid0".$i);
unset($HTTP_SESSION_VARS["testid0".$i]);
}
}
if($num != null){
if(!isset($HTTP_SESSION_VARS["testid0".$i])){
$HTTP_SESSION_VARS["testid0".$i] = 1;
echo ("セッションを追加
testid0".$i.":".$HTTP_SESSION_VARS["testid0".$i]."<br>\n");
}
}
}
session_destroy();
?>
-------------------------------------------------------------
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/