我们何时何地使用 session_id()
when and where do we use session_id()
我看不懂下面的代码,我不知道什么时候我们在 session_start()
之前使用 session_id()
。
<?php
if($_GET){
//defining the session_id() before session_start() is the secret
session_id($_GET['session_id']);
session_start();
echo "Data: " . $_SESSION['theVar'];
//use your data before below commands
session_destroy();
session_commit();
}else{
//common session statement goes here
session_start();
$session_id=session_id();
$_SESSION['theVar'] = "theData";
echo "your.php?session_id=" . $session_id;
}
?>
我要你解释一下!不只是复制 php.net !
的描述
另一方面,session_id() 在哪里使用?!它的用途是什么?!
先感谢您 !
在开始会话之前设置会话 ID 可以让您手动 "resume" 一个会话,可以这么说。如果你 session_start() 没有设置 ID,并且之前的会话已经过期,它将生成一个新的 ID 并开始一个全新的会话。
来自 PHP 文档:
If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose.
manual 是一个很好的起点。 session_id 不需要启动或管理会话。 PHP 如果您排除 session_id,浏览器(通过 cookie)通常会自动处理此问题。但是,您可以通过指定会话 ID 为每个最终用户维护多个会话。
终于明白了!我举两个例子:
<?php
session_start();
session_id();
?>
结果 |stbug36ge9efg20cpdjnq83m50(会话 ID)
只要浏览器或选项卡关闭,会话就会被忽略,下次您进入该站点时,您可以管理两个操作的发生:
1. 使用之前的 session_id 开始新会话
2. 或者用一个新的 id 开始一个新的会话
像往常一样,动作 num.2 会发生,但如果你想让 num.1 发生,你必须在 session_start 之前嵌入 session_id 。看看下面的代码:
<?php
session_id("stbug36ge9efg20cpdjnq83m50");
session_start();
?>
我们在这里开始一个新的会话,使用之前的会话 ID。
和
Session_id()
的用法
您可以轻松编写一个在线访问者计数器 - 每次会话开始时(使用在线),它的 ID 将存储在数据库中。这样我们就可以知道有多少用户在线。
我看不懂下面的代码,我不知道什么时候我们在 session_start()
之前使用 session_id()
。
<?php
if($_GET){
//defining the session_id() before session_start() is the secret
session_id($_GET['session_id']);
session_start();
echo "Data: " . $_SESSION['theVar'];
//use your data before below commands
session_destroy();
session_commit();
}else{
//common session statement goes here
session_start();
$session_id=session_id();
$_SESSION['theVar'] = "theData";
echo "your.php?session_id=" . $session_id;
}
?>
我要你解释一下!不只是复制 php.net !
的描述
另一方面,session_id() 在哪里使用?!它的用途是什么?!
先感谢您 !
在开始会话之前设置会话 ID 可以让您手动 "resume" 一个会话,可以这么说。如果你 session_start() 没有设置 ID,并且之前的会话已经过期,它将生成一个新的 ID 并开始一个全新的会话。
来自 PHP 文档:
If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose.
manual 是一个很好的起点。 session_id 不需要启动或管理会话。 PHP 如果您排除 session_id,浏览器(通过 cookie)通常会自动处理此问题。但是,您可以通过指定会话 ID 为每个最终用户维护多个会话。
终于明白了!我举两个例子:
<?php
session_start();
session_id();
?>
结果 |stbug36ge9efg20cpdjnq83m50(会话 ID)
只要浏览器或选项卡关闭,会话就会被忽略,下次您进入该站点时,您可以管理两个操作的发生: 1. 使用之前的 session_id 开始新会话 2. 或者用一个新的 id 开始一个新的会话 像往常一样,动作 num.2 会发生,但如果你想让 num.1 发生,你必须在 session_start 之前嵌入 session_id 。看看下面的代码:
<?php
session_id("stbug36ge9efg20cpdjnq83m50");
session_start();
?>
我们在这里开始一个新的会话,使用之前的会话 ID。
和
Session_id()
的用法您可以轻松编写一个在线访问者计数器 - 每次会话开始时(使用在线),它的 ID 将存储在数据库中。这样我们就可以知道有多少用户在线。