在给定的PHP脚本中访问两个会话 [英] Accessing two sessions in given PHP script

查看:119
本文介绍了在给定的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆