0

最初の例

<?php
session_start();

if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];

echo $_SESSION['count'] . "<br />";
?>

2番目の例

<?php
session_start();
if(!isset($_SESSION['initiated']))
{
    session_regenerate_id();
    $_SESSION['initiated'] = 1;
}
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];

echo $_SESSION['count'] . "<br />";

唯一の違いは、2 つの異なる URL (例: http//localhost/test?PHPSESSID=123; http://localhost/test?PHPSESSID=456) を使用する場合です。最初のスクリプトはゼロから再びカウントアップしますが、秒はカウントを続けます

では、2 つの例は何を意味するのでしょうか。そして、それは私に何を伝えたいですか?

4

2 に答える 2

0

すみません、私の最初の答えは性急すぎました。これをチェックしてください。PHP.net は次のように述べています。

「session_regenerate_id() は現在のセッション ID を新しいものに置き換え、現在のセッション情報を保持します。」

于 2013-01-05T00:16:11.843 に答える
0

session_regenerate_id() 可能であれば、セッションの詳細を保持するために Cookie を送信します。ユーザーの延長セッションと考えてください。これにより、ユーザーがブラウザーを閉じた場合に、ユーザー セッションを呼び出すことができます。

于 2013-01-08T14:02:43.313 に答える