【问题标题】:Accessing two sessions in given PHP script在给定的 PHP 脚本中访问两个会话
【发布时间】:2015-01-19 15:13:54
【问题描述】:

以下脚本创建了两个 cookie(SESSION1 和 SESSION2),但是,它们都包含相同的 session_id 值。

如何修改此脚本,使两个会话独立?

谢谢

<?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>');
?>

【问题讨论】:

    标签: php session cookies session-cookies


    【解决方案1】:

    您还需要为每个新会话更改会话 ID。试试这个:

    $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>');
    

    【讨论】:

    • 我唯一的问题是我不想指定会话 ID,而是使用系统生成的。
    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 2013-09-06
    • 2021-04-15
    • 2023-03-17
    • 2016-03-21
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多