Почему рядовой элемент isset?

Есть $numberOfElements (82) записей в таблице. На странице отображено $numberOfElements элементов и столько же кнопок их удаления. Кнопки имеют вид:

<form method="POST" class=\"adminDeleteBox\">
   <button type="submit" name="deleteBox${dataId}" >&times;</button>
</form>

При нажатии на каждую кнопку выполняется код по "удалению" элемента. Каждая кнопка привязана к своему элементу.

for ($i = 1; $i <= $numberOfElements; $i++) {
    if(isset($data["deleteBox".$i])) {
        // $i = айди того элемента, который удаляем
        
        R::exec( 'UPDATE footages SET deleted="1" WHERE id = '.$i.'' );
        echo "удалился ".$i."";
    }
}

при загрузке страницы выходит так, что echo isset($data["deleteBox82"]); возвращает единицу, при том что при той же загрузке значение $data["deleteBox82"] пустое.

При добавлении 83 элемента удаляется всё равно 82.

Блоки генерируются автоматически из базы данных. Кнопки навешиваются в джаваскрипте. Это всё к тому, что блок 82 типичный и ничем не отличается от других

Ваши догадки?


Ответы (1 шт):

Автор решения: enterenteruptab

Проблема состояла в том, что не был произведён вход в аккаунт на сайте. Из-за чего значение единицы в свойстве deleted из-за некоторых причин, "заморозилось" на 82 элементе.

Это объясняет, почему добавление 83 ничего не изменило: 83 элемент было просто невидно. После входа всё работает нормально.

→ Ссылка