| Мой товарищ уехал, и не известно будет ли он еще тут вообще, а я исключительно по его просьбе.
Что я могу сказать, наверно главное то, что зря он вам все это писал, так как вы все его замечания и рекомендации просто проигнорировали, или не стараетесь понять, вникнуть, почему вам это советуют и рекомендуют.
Весь ваш код ужасен и полон дыр, скопирован с какого-то ветхого поганого учебника или пособия. Но даже этот код вы не стараетесь понять.
Программирование не игра, в нем нет уровней, программирование, это серьезная работа базирующая на знаниях и опыте. А знания и опыт придут только в том случае, если вы будете изучать код, анализировать его, что дает понимание его работы.
А для того, чтобы изучать, анализировать и в итоге понимать код, нужно как минимум изучать конструкции и функции языка на котором вы программируете. А вы даже в описание функций вряд ли заглянули.
У вас может никогда и не выполнится ваше условие проверки, так как вы делаете грубочайшую ошибку - выдаете на страницу необработанный html-код, там где он должен быть текстом. А вам об этом говорили дважды:
Вот первый - Ошибки надо исправлять, а значит возвращать форму пользователю, и не просто возвращать, а с данными, которые он уже заполнил, то есть определенные ранее переменные $title, $clear_description и т.д., должны быть вставлены в атрибуты value соответствующих полей формы, пропустив их через htmlspecialchars().
А вот второй (в примере) - value="'. htmlspecialchars($err && in_array($k, $err) ? null : $v).'"
А вы как поступаете? Посмотртите внимательно на свою страницу, которая выдает форму. Разве визуально не видно, что форма уже разбита html вставками в ее полях? Так писать код, не думая, это значит разрешать xss-атаки на своих страницах.
Список cat у вас не имеет выбранного по умолчанию опшена, а значит переменная $cat всегда будет равна null, если пользователь не сделает выбора в списке. Следовательно и не происходит обновление.
Можно было бы пояснить еще, почему не стоит так выдавать и обрабатывать форму, где каждый блок живет своей жизнью, никак не связанной между собой, но думаю не стоит, вам и об этом говорили, но вы даже не стали вникать в это, а зря. Значит я и не буду говорить. Вы говорили о своем уровне - так вы и зависните на первом уровне банальной стрелялки, и никогда не научитесь играть в стратегию, если не будете изучать предмета. | |