2011-12-23 75 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