我如何检查会话

我有一个第三方脚本,想知道如何在PHP之前检查session_start()是否在做某事之前已经声明?

something like if(isset($_session_start())) { //do something } 

if(!isset($_SESSION)) {
     session_start();
}

该检查将允许您保持当前会话处于活动状态,即使它是一个循环提交应用程序,如果您计划在数据输入不正确时重新使用表单,或者在继续执行下一个程序之前在程序中进行了其他检查和平衡,那么该循环提交应用程序仍然有效。


在PHP> = 5.4.0中,你有函数session_status()告诉你它是否已经初始化或者是否被禁用。

例如,你可以这样做:

if (session_status() == PHP_SESSION_NONE) {
  session_start();
}

你可以在http://www.php.net/manual/en/function.session-status.php阅读更多关于它的信息


我想你可以使用session_id函数:

如果没有当前会话(不存在当前会话ID), session_id()将返回当前会话的会话ID或空字符串(“”)。

或者,也许用isset测试$_SESSION是否被设置,可能会做到这一点,因为当没有会话开始时它不应该被设置 - 你只需要希望什么都没有分配任何东西给$_SESSION而不先启动会话。

链接地址: http://www.djcxy.com/p/57737.html

上一篇: How do i check if session

下一篇: Ternary Operator(Elvis Operator) ?: