Почему рядовой элемент isset?
Есть $numberOfElements (82) записей в таблице. На странице отображено $numberOfElements элементов и столько же кнопок их удаления. Кнопки имеют вид:
<form method="POST" class=\"adminDeleteBox\">
<button type="submit" name="deleteBox${dataId}" >×</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 шт):
Проблема состояла в том, что не был произведён вход в аккаунт на сайте. Из-за чего значение единицы в свойстве deleted из-за некоторых причин, "заморозилось" на 82 элементе.
Это объясняет, почему добавление 83 ничего не изменило: 83 элемент было просто невидно. После входа всё работает нормально.