PHPのセッションIDについて
PHP5.3.14を使っています。
セッションについて勉強中です。
セッションを使ってページの表示回数をカウントアップするソースと、
そのセッションを破棄するソースの2種類を用意しました。
※それぞれ、session_id()をecho表示しています。
クッキーを使った状態でこれらを動かすと、
リセットする(リンクを押してリロードする)度にセッションIDが変わるのですが、
クッキーを使わずに定義済み定数SIDを使って動かすと、
カウント値は元に戻るのですが、
リセットしてもセッションIDが変わりません。
どうすれば、新しいセッションIDを発行(SIDの値を更新)できるのでしょうか?
よろしくお願いします。
【以下、ソース2種類と、iniファイルの一部です】
●up.php
<?php
session_start();
if (empty($_SESSION['count'])) {
$_SESSION['count'] = 1;
} else {
$_SESSION['count']++;
}
echo ("###".'"'.session_name().'='.session_id().'"'."</br>");
?>
<p>
<?php echo $_SESSION['count']; ?> 回目。
</p>
<p><a href="up.php">カウントアップ</A>
</p>
<p>
<a href="reset.php">リセット</A>
</p>
●reset.php
<?php
session_start();
echo ("###".'"'.session_name().'='.session_id().'"'."</br>");
echo ("##### ". $_SESSION['count']."回表示しました。</br>");
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
if(isset($_REQUEST[session_name()])){
$_REQUEST[session_name()]="" ;
}
session_destroy();
?>
<p>
<a href="up.php">初めからカウントする</A>
</p>
●php.ini
(クッキーを使わずSIDを使うを設定)
session.use_trans_sid = 1
session.use_only_cookies=0
session.use_cookies=0