впервые у меня такая странная проблема. У меня есть файл с этим кодом:
<?php
session_start();
//if I dump session:
var_dump($_SESSION['product']);
//I get this:
array(2) { [1260]=> string(1) "1" [799]=> string(1) "1" }
//if I try to unset session [1260]
if(isset($_POST['delete']) && !empty($_POST['delete'])){
echo 'here';
unset($_SESSION['product'][1260]);
}
//unset() or session_destroy() at all not working
//if I unset($_SESSION['product'][1260]); without
if(isset($_POST['delete']) && !empty($_POST['delete'])){
}
//it is working
?>
Что может быть причиной unset или session_destroy, чтобы не работать в случае IF?
Ну, ребята, проблема была в том, что внизу страницы у меня был код, который генерировал новые записи сессий … Очень жаль, что вы нашли время …! И спасибо, что поддержали меня. Дайте мне -1 за это 🙂 Я это заслужил 🙂
Проблема может быть $_POST['delete'] = '';
так что вам нужно только if(isset($_POST['delete'])
,
если вы хотите использовать этот пункт if(isset($_POST['delete']) && !empty($_POST['delete']))
в форме, которую вы отправили, вам нужно ввести значение для «удаления» ввода.
Например:
<input type="hidden" name="delete" value="1" />