Что - то не особо понятно, что есть защита.
Вы просто создали переменную при авторизации записав её в сессию, на следующий странице сверили данные, нет её - exit.
Зачем два раза стартовать сессию (на одной странице)?
Лично я для фильтра использую регулярки, лучше за ранее исключить абсолютно все, что не нужно, ограничив и длину.
Попробуйте OpenServer , если на локальном разрабатываете сайт. (скачал / установил)
Очень удобен в плане просмотра логов и доп. примочками.
Выбор версий php до актуальных на сегодняшний день.
Стоит посмотреть в сторону предварительной загрузки изображений.
Все фотографии лучше хранить в массиве и одной ячейки, возвращая уникальный айди после загрузки , что позволит добавить общий текст для них и сократить данные в самой базе.
Т.е. изначально , по моему мнению, вы не туда копаете. (я предположил , что это реализация для профайла пользователя ))
Виноват, что не пояснил ситуацию лучше.
Я получаю 1-й айди.
Строю по полученным данным страничку.
Страница $data["name"]
а ниже, в блоке, мне необходимо вывести то, что находится в arr , получив при этом данные по айди 1.
Что-то я туплю видимо и запрос как ни крути нужно повторно.
Пойду посплю, спасибо.