删除特定的会话变量

时间:2013-11-25 12:18:12

标签: php session get session-variables

我通过表单提交在我的网站中保存了一些会话变量。使用此表单,客户可以为其产品添加多个维度。对于每个提交网站显示所选尺寸。因此,有时可以看到多个配置。

客户必须能够删除此类配置(因此是SESSION的一部分)。

使用这段代码,我将配置保存在SESSION中:

if(isset($_POST['wz_submit_saving_1'])) :

    $straight_saving = array(
        'wz_str_saving' => $_POST['wz_str_saving'],
        'wz_saving_a' => $_POST['wz_saving_a'],
        'wz_saving_b' => $_POST['wz_saving_b'],
        'wz_submit_saving_1' => $_POST['wz_submit_saving_1']
    );

    $_SESSION['straight_saving'][] = $straight_saving;

endif;

我展示了它们,每个配置都有一个删除链接:

<a class="remove_link" href="http://www.myurl.com/?wz_submit_saving_remove_1">Verwijder sparing</a>

使用以下代码删除会话。

if(isset($_GET['wz_submit_saving_remove_1'])) :

    unset($_SESSION['straight_saving']);

endif;  

但是当我这样做时,SESSION $中的所有配置都是直接的;消失了。所以我只需要删除我点击的删除按钮的会话中的配置,而不是全部删除。

有人可以告诉我,如果我使用GET链接以正确的方式进行操作,还是我需要做其他事情?

谢谢!

1 个答案:

答案 0 :(得分:1)

我们聊天之后更清楚了:

您希望在会话中推送后相应添加的每个保存取消设置:

foreach($_SESSION['straight_saving'] as $key => $saving) {
//You can create a link that says ?saving=$key
}

通过执行unset($_SESSION['straight_saving'][$_GET['saving']],您可以取消设置正确的会话。不要忘记在其中放入一些检查,以免人们在URL中放置任何内容。