Дублируется запись в сессии из формы PHP
Есть форма с кнопкой, где методом POST передаются данные сессию.
$_SESSION['global_str'][] = $_POST;
Все отлично работает, но если обновить страницу, то даже с не заполненной формой, дублируются предыдущие данные. Получается, если 20 раз обновить страницу, добавится 20 одинаковых массив в сессию.
Помогите сделать проверку, что если такое уже есть в $_SESSION['global_str'], тогда не добавлять.
Пробовала array_unique, но все перестает работать.
Ответы (1 шт):
Автор решения: LEX
→ Ссылка
$count_arr = count($_SESSION['global_str']) - 1; // проверить количество записей в массиве и минус 1, потому как счет идет с нуля
// если запись не равна, то добавить строчку
if ($_SESSION['global_str'][$count_arr]['text_tab1'] !== $_POST['text_tab1']) {
$_SESSION['global_str'][] = $_POST; // запись данных с формы в сессию
}
else {
echo "запись есть, ничего не делать, просто вывести это сообщение";
}
// если запись не равна, то добавить строчку
Вероятнее всего у вас массив с индексами, поэтому вычисляется последний элемент и по нему идет проверка.
['text_tab1'] - сюда подставьте название одно/несолько название полей из формы.
Не идеально, но вашу задачу решит 100%.