如何在我的代码中取消设置特定会话:
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']);
}
示例I每个会话ID有3个数据。现在我想点击每个删除链接取消设置会话。
我该怎么做?所以我点击删除然后它会隐藏我之前在<tr>
答案 0 :(得分:0)
我在使用unset()
时遇到了同样的问题,我尝试调试它以查看是否会使用简单的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("....");