2015-09-29 181 views
0

在我的php函數中,我想檢查會話是否存在。基於會話的存在我想返回true或false。檢查會話是否存在於php

我已經登錄時使用session_start();並存儲值到會話變量登錄功能,並登出時它會做session_destroy();

現在我想檢查是否存在會話與否。 我怎樣才能做到這一點

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

用'isset()'或'empty()'試過?記得開始你的「檢查」的會話以及:) – Epodax

+0

你想檢查會話是否開始或它是空的? –

+0

如果要檢查會話啓動或不 首選此鏈接 http://stackoverflow.com/questions/6249707/check-if-php-session-has-already-started –

回答

3

使用isset功能

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

您還可以使用empty功能

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

只是做 '回報isset ($ _Session);' 或 'return!empty($ _ Session);' 對於較少的代碼也是一樣的(在你的例子中不應該是「不爲空的$ _Session」) – wmk

+0

@wmk謝謝你的。 :D哈哈。 – aldrin27

1

使用

function ifsessionExists(){ 
// check if session exists? 
if(isset($_SESSION['Key']) && $_SESSION['Key'] == 'Value'){ 
return true; 
}else{ 
return false; 
} 
} 
1

您可以使用isset

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

試試這個:

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

Actualy,這是更好的方式來做到這一點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(); 
?> 

在這裏你可以閱讀更多關於它的信息http://sg2.php.net/manual/en/function.session-status.php#113468

1

您可以使用session_id()

session_id()返回當前會話的會話ID或空字符串(「」),如果沒有當前會話(不存在當前會話ID)。

function ifsessionExists(){ 
    // check if session exists? 
    $sid= session_id(); 
    return !empty($sid); 
}