2011-12-23 80 views
0

下發生:

session_start(); 

$_SESSION['myvar'] = 'something'; 

class SessionControl 
{ 
    public function unsetSessionVar($varName) 
    { 
     if (!isset($_SESSION)) 
     { 
      session_start(); 
     } 

     if (isset($_SESSION[$varName])) 
     { 
      unset($_SESSION[$varName]) 
     } 
     echo 'TEST 1: [' . $_SESSION[$varName] . ']'; 
    } 
} 
$SesContr = new SessionControl(); 
$SesContr->unsetSessionVar('myvar'); 
echo "TEST 2: [" . $_SESSION['myvar'] . ']'; 

主要生產:

TEST 1: [] 

TEST 2: [something] 

這裏發生了什麼?

+0

對我來說它工作正常。你在哪個操作系統上使用什麼Web服務器?重新啓動它可能有幫助? – arminb 2011-12-23 12:19:56

+0

此代碼按預期在我的服務器上工作 - 可變的unsets。考慮到你有一個語法錯誤,可能你沒有發佈原始代碼? – Timur 2011-12-23 12:20:52

+3

第一件事。你在丟失分號時丟失了一個分號 – Ankit 2011-12-23 12:22:18

回答

0

,我認爲它應該給你了Syntex錯誤..你已經錯過了「;」未設置背後應該statement.it是這樣..

unset($_SESSION[$varName]); 

運行它,如果它可以解決你的問題。

+0

是否需要在單行語句中設置半列?我不這麼認爲 – 2011-12-23 12:33:50

+1

@jogesh_p是的。 – JJJ 2011-12-23 13:15:57

+0

@Juhana感謝告訴我.. – 2011-12-24 04:59:18