unset внутри foreach для $_POST

alexblade
Ты делаешь неправильную логику в приложении. Если данные не нужны, не надо их использовать, а не очищать суперглобальные массивы. Это понятно? Чтобы при нажатии F5 не передавался опять запрос с постом есть header('location:...');
 
Если можно поподробней, если зацепил эту тему.
У тебя есть URI на который браузер отправил POST данные. c0dex предлагает через заловок Location перейти, к примеру, на тот же URI. Тогда по F5 ни каких POST данных оправлено не будет, т.к. браузер перезайдет на адрес уже GET-ом.
 
форма отправила данные на какой-то адрес, там логика отработала и сделала тебе редирект.
 
так а никто его и не пытается сделать не массиовм.
читать ответы надо внимательно.
Еслит что-то не понял - перечитать всю ветку.
речь не о том, чтобы что-то "сделать массивом", а о проверке, есть ли массив вообще. Которую ты делаешь в своем коде.
Тебе на это сказали, что проверка смысла не имеет - массив $_POST есть всегда.
И на пустоту проверять тоже не надо - с этой проверкой справится сам foreach
Речь не про ансет, а про IF. Который в данном случае не нужен (безотносительно к бессмысленности всего кода целиком).
 
с этой проверкой справится сам foreach
ПОСТ есть всегда это аксиома. но если нет ни одной переменой от формы в нем то мой easyphp несмотря на то что он есть всегда ругался на неопределную переменую. на wamp не ругается и можно без if (понятно что конфиги можно настроить как хочешь но я использовал по умолчанию). т.е. я понимаю что сам форыч справится но в конкретной ситуации вот надобыло использовать проверку. а так да вы правы.

по поводу очищения в ручную - да помагало. а в чём тут юмор непонял и зачем ирония? в том что мол "а зеленый перец незнает что можно хедер использовать" ну про хедер знаю но как то подругому я до сих пор решаю эту проблему. согласен что через хедер красивее. но удаление ненужных пост переменых не нахожу неправильным и криминальным и доводов к обратному не увидел. во всяком случае покачто (может быть по своему незнаю)

Фанат, главно чтоб вы понимали я не спорить свами пришел а понять для себя и узнать чтото новое. но если форумчяне (в целом) будут неконструктивно издеваться это мало чем поможет для меня - пониманию сути проблемы.
 
В первую очередь для понимания сути проблемы нужны факты.
И вот как раз с фактами у тебя большие проблемы.
Ты видишь проблему там, где её нет, и наоборот - не видишь там, где она есть.
Бесполезно что-либо объяснять человеку, который не видит реальной картины происходящего.

Поэтому для начала убедись, что
1. easyphp на foreach не ругается.
2. Очистка массива $_POST, что ручная, что в цикле, от проблем при рефреше не помогает.
после этого перечитай топик.
и если после этого ещё останутся вопросы - можно будет их задать здесь.
 
1 изик ругался потомуто я и проверку поставил (изначально порверки _не было_). не вопрос перепроверю еще раз после больничного.
2 как правило да, согласен, причем дело не в скрипте. начинаю юзать хедер посмотрим что получится
 
если юзать хедер, как передать пользователю результат обработки данных - только сесиями ?
 
Зависит от данных.
Если метод POST применялся правильно, то запросить данные из базы.
Если данных в базе нет, надо юзать метод GET
 
Тема вообще мне не понятна. ТС ни разу не объяснил, что он там за копросистему пишет, ни примера, нифига. Как можно просто так начать использовать хедер, если нет ничерта понимания куда и как его прилепить? И надо ли вообще?

PS: наболело
 
ФАНАТ ну например для отправки письма базы избыточны. я заюзал сесси для POST (другая сторона медали гета). спасибо.

c0dex , сами же говорили чтобы решить вопрос с F5 нужен хедер. ну вот его и применил вместо первоночального ансета пост переменых.

изначально вопрос был ошибка синтаксиса но в плодотворном обсуждении позволил мне исправить "архитектурную" ошибку. что вам неясно? откуда понимание про хедер? а с чего вы решили что я в первые про него услышал? хотя это все уже не по теме. главное, вы подсказали - мне помогло. что тут непонятного?
 
Согласен, чтобы сообщить об успешной отправке почты, сессии (и ещё аякс) - самый удачный вариант.
 
если юзать хедер, как передать пользователю результат обработки данных - только сесиями ?
создаешь класс FlashMessage
в нем всего 2 метода: get и set (их можно сделать статическими, set записывает переменную в сессию, а get достает её оттуда и удаляет)
перед отправкой заголовка на редирект запоминаешь сообщение, которое надо отобразить, а на странице, куда редиректишь пользователя, достаешь сообщение и отображаешь его
 
Сверху