检查php中是否存在会话

检查php中是否存在会话,php,session,Php,Session,在这里的php函数中,我想检查会话是否存在。基于会话的存在性,我想返回true或false 我有一个使用session_start()的登录函数并在登录时将值存储到会话变量中,而在注销时它将执行会话_destroy() 现在我想检查会话是否存在。 我该怎么做 function ifsessionExists(){ // check if session exists? if($_SESSION[] != ''){ return true; }else{ r

在这里的php函数中,我想检查会话是否存在。基于会话的存在性,我想返回true或false

我有一个使用
session_start()的登录函数
并在登录时将值存储到会话变量中,而在注销时它将执行
会话_destroy()

现在我想检查会话是否存在。 我该怎么做

function ifsessionExists(){
    // check if session exists?
    if($_SESSION[] != ''){
    return true;
    }else{
    return false;
    }
}

使用
isset
功能

function ifsessionExists(){
// check if session exists?
  if(isset($_SESSION)){
    return true;
  }else{
    return false;
  }
 }
 function ifsessionExists(){
// check if session exists?
  if(!empty($_SESSION)){
    return true;
  }else{
    return false;
  }
 }
您也可以使用
empty
功能

function ifsessionExists(){
// check if session exists?
  if(isset($_SESSION)){
    return true;
  }else{
    return false;
  }
 }
 function ifsessionExists(){
// check if session exists?
  if(!empty($_SESSION)){
    return true;
  }else{
    return false;
  }
 }
使用


您可以使用
isset

function ifsessionExists(){
    //check if session exists?
    if (isset($_SESSION['key'])){
    return true;
    }else{
    return false;
    }
}
试试这个:

function ifsessionExists(){
    // check if session exists?
    if(isset($_SESSION)){
    return true;
    }else{
    return false;
    }
}
实际上,按照session_status()文档页面上的建议,这是更好的方法:

<?php
/**
* @return bool
*/
function is_session_started()
{
    if ( php_sapi_name() !== 'cli' ) {
        if ( version_compare(phpversion(), '5.4.0', '>=') ) {
            return session_status() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
        } else {
            return session_id() === '' ? FALSE : TRUE;
        }
    }
    return FALSE;
}

// Example
if ( is_session_started() === FALSE ) session_start();
?>


在这里,您可以阅读有关它的更多信息

PHP>=5.4.0版本的推荐方法

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
资料来源:

对于PHP<5.4.0的版本


您可以使用
session\u id()

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


使用
isset()
empty()
尝试过吗??记住也要启动会话进行“检查:)您想检查会话是否已启动或是否为空??如果您想检查会话是否已启动或不希望此链接只是执行
返回isset($\u会话)
返回!空($\u会话)在代码更少的情况下也是如此(在您的示例中,它不应该是“notempty$\u Session”吗?)
function ifsessionExists(){
    // check if session exists?
    $sid= session_id();
    return !empty($sid);
}