0
<?php
session_start();

$session_new_name_1 = session_name("user1");
$session_new_name_2 = session_name("user2");

$_SESSION['user_name'] = "John";  //set to $session_new_name_1
$_SESSION['user_name'] = "Frank"; //set to $session_new_name_2

?>

問題は、基本的に、名前Johnをセッションuser1に設定し、名前Frankをセッションuser2に設定するにはどうすればよいですか?

2つのセッションが共存する必要があります。

4

4 に答える 4

1

これは不可能だと思います。PHPSESSID に含めることができる ID は 1 つだけです。さらに、session_name() は、session_start() の前に呼び出す必要があります。説明書より。

セッション名は、リクエストの起動時に session.name に格納されているデフォルト値にリセットされます。したがって、リクエストごとに (および session_start() または session_register() が呼び出される前に) session_name() を呼び出す必要があります。

ただし、真のダブルセッションシステムを実際に探していない場合は、@ripa と @phpalix が提供する回答が役立つ場合があります。

于 2013-02-05T12:08:55.500 に答える
1

さらにデータが必要な場合は、次の方法で実行できます。

$_SESSION['username'] = array('name' => 'John', 'last_name' => 'Doe', 'email' => 'some@mail.com');

等々...

于 2013-02-05T12:13:13.770 に答える
0

あなたの例では、セッションを配列にします。

$_SESSION['user_name']['user1'] = "John";
$_SESSION['user_name']['user1'] = "Frank";

配列は強力で、正しく使用すれば多くの問題を解決するのに役立ちます。

于 2013-02-05T12:04:16.953 に答える
0
$_SESSION['user1'] = "John"; 
$_SESSION['user2'] = "Frank";

これを試して。あなたを助けるかもしれません。

于 2013-02-05T12:05:44.100 に答える