2016-06-14 58 views
-1

特定会话如何在我下面的代码取消设置特定的会话:PHP取消设置通过点击

for($i=0;$i<count($_SESSION['src']);$i++) 
{ 
?> 
    <tr> 
    <td><?php echo $_SESSION['name'][$i]; ?></td> 
    <td><?php echo $_SESSION['price'][$i]; ?></td> 
    <td><a href="?delPrd=<?php echo $_SESSION['pid'][$i]; ?>">Hapus</a></td> 
    </tr> 
<?php 
} 

if($_GET['delPrd']); 
{ 
    unset($_SESSION['name']); 
    unset($_SESSION['price']); 
} 

例如,我有每个会话ID 3点的数据。现在我想通过单击每个删除链接来取消设置会话。

我该怎么做?所以我点击删除然后它会隐藏使用unset()当我遇到同样的问题来了,是我在<tr>

+1

你需要更清楚地解释有点你的问题,谢谢。我不明白你想要做什么,你已经做了什么以及为什么'unset'不能解决你的问题。你可以定义“特定会话”,你的意思是整个会话数组? – Martin

+0

意味着,即时通讯使用加入购物车会议。我有3个数据在表中,每一行都有删除链接。因此,如果我单击第1行中的删除链接示例,则只会为第1行取消设置会话。 –

回答

0

之前单击了行,我试图调试它,看它是否将永远取消设置使用一个简单的while循环。

while(isset($_SESSION['...'])): 
    unset($_SESSION['...']); 
endwhile; 

这似乎对我来说,实际上没有设置缓存的工作,就好像它需要在继续,这使得没有逻辑感之前就知道它没有设置,但对于你的代码 - 你花你的时间50%,试图修复代码,只有50%想知道它到底如何工作。

希望这有助于。

编辑:你可以把它变成可重复使用的对象,像:

class SessionRemovale 
{ 
    public function Remove($param) 
    { 
     while(isset($_SESSION[$param])) { 
      unset($_SESSION[$param]); 
     } 
    } 
} 

然后使用它像:

$session_controller = new SessionRemovale(); 
$session_controller->Remove("...."); 
$session_controller->Remove("....");