Ben tek bir PHP komut dosyası iki bağımsız $ _SESSIONs kullanmak istiyorum.
Ben bu aşağıdaki kodu kullanarak mümkün olduğunu doğrulamak için çalıştılar.
error_reporting(-1);
session_name('session_one');
session_start();
$_SESSION = array();
$_SESSION['session_one_var'] = 'test_one';
$output1 =
(
"session_id(): '" . session_id() . "'.<br/>\n" .
"session_name(): '" . session_name() . "'.<br/>\n" .
print_r($_SESSION, true)
);
session_write_close();
$_SESSION = array();
session_name('session_two');
session_start();
$_SESSION['session_two_var'] = 'test_two';
$output2 =
(
"session_id(): '" . session_id() . "'.<br/>\n" .
"session_name(): '" . session_name() . "'.<br/>\n" .
print_r($_SESSION, true)
);
session_write_close();
$_SESSION = array();
echo "$output1<br/>\n<br/>\n$output2";
Çıktı:
session_id(): 'f19aecd8d3ce0c5d444456d2387c6e35'.
session_name(): 'session_one'.
Array ( [session_one_var] => test_one )
session_id(): 'f19aecd8d3ce0c5d444456d2387c6e35'.
session_name(): 'session_two'.
Array ( [session_one_var] => test_one [session_two_var] => test_two )
Ben çıktı 'session_one' adlı oturum 'session_two' dizisi ('session_two_var' => 'test_two') içeren bir dizi ('session_one_var' => 'test_one') ve isimli oturumu içerdiğini göstermek için bekliyoruz. Bunun yerine, "session_two 'session_one' ile aynı oturum gibi görünüyor.
Ben bir çizgi 'session_regenerate_id ();' takarsanız sonra ikinci 'session_start (); çizgi, farklı bir session id 'session_two' için bildirilen, ancak çıkış aksi takdirde aynı. Aşağıya bakın.
session_id(): 'f19aecd8d3ce0c5d444456d2387c6e35'.
session_name(): 'session_one'.
Array ( [session_one_var] => test_one )
session_id(): '3bcc74a7bcbac30e680c5b94fadcede1'.
session_name(): 'session_two'.
Array ( [session_one_var] => test_one [session_two_var] => test_two )
Ben yanlış ne yapıyorum?
Ben benzer sorular here ve here, daha önce bu forumda istendiğini biliyorum, ama şimdiye kadar sunulan cevaplar beni aydınlatmak için başarısız oldu.
Herhangi bir yardım çok takdir edilecektir.