2013-11-25 48 views
0

我通過表單提交在我的網站中保存了一些會話變量。通過這種形式,客戶可以爲他的產品添加多個維度。對於每次提交,網站都會顯示所選尺寸。所以有時可以看到多個配置。刪除特定的會話變量

客戶必須能夠刪除此類配置(因此是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中的所有配置$ straight_saving;消失了。所以我只需要將配置從會話刪除按鈕上點擊,而不是全部刪除。

有人可以告訴我,如果我用GET鏈接正確的方式做,或者我需要做別的事嗎?

謝謝!

回答

1

我們的聊天后,它更清晰:

你想取消設置每次節省你在會議推後相應增加:

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

比你可以通過做unset($_SESSION['straight_saving'][$_GET['saving']]後取消設置正確的會話。不要忘記在其中添加一些檢查,以避免人們將任何內容放入URL中。

+0

是的,但是如果明白我的意思,我怎麼能讓他們相互對應。 – Robbert

+0

什麼?我不明白這個問題。 – CaptainCarl

+0

我看你是荷蘭人。在荷蘭問你的問題:) – CaptainCarl