在给定的PHP脚本中访问两个会话 [英] Accessing two sessions in given PHP script
本文介绍了在给定的PHP脚本中访问两个会话的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下脚本会创建两个Cookie(SESSION1和SESSION2),但都包含相同的session_id值。
The following script creates two cookies (SESSION1 and SESSION2), however, both contain the same session_id value.
如何修改此脚本,是独立的吗?
How can I modify this script so that both sessions will be independent?
谢谢
<?php
$t=time();
session_name('SESSION1');
session_start();
$_SESSION['s1_'.$t]=$t;
echo('SESSION1<pre>'.print_r($_SESSION,1).'</pre>');
session_write_close();
$old_session=session_name('SESSION2');
session_start();
$_SESSION['s2_'.(2*$t)]=2*$t;
echo('SESSION2<pre>'.print_r($_SESSION,1).'</pre>');
session_write_close();
session_name($old_session);
session_start();
echo('SESSION1<pre>'.print_r($_SESSION,1).'</pre>');
?>
推荐答案
您还需要更改每个新会话的会话ID 。尝试此操作:
You also need to change session ID for each new session. Try this:
$t=time();
session_name('SESSION1');
$s1 = session_id('ID1');
session_start();
$_SESSION['s1_'.$t]=$t;
echo('SESSION1<pre>'.print_r($_SESSION,1).'</pre>');
session_write_close();
$old_session = session_name('SESSION2');
$s2 = session_id('ID2');
session_start();
$_SESSION['s2_'.(2*$t)]=2*$t;
echo('SESSION2<pre>'.print_r($_SESSION,1).'</pre>');
session_write_close();
session_name($old_session);
session_id('ID1');
session_start();
echo('SESSION1<pre>'.print_r($_SESSION,1).'</pre>');
这篇关于在给定的PHP脚本中访问两个会话的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文