Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Способ вернуть ошибку после редиректа
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Способ вернуть ошибку после редиректа

Страниц (1): [1]
 

1. foozzi - 12 Мая, 2013 - 21:30:59 - перейти к сообщению
Отказался от ajax, ибо реальный костыль...
Теперь думаю, во время работы класса, по логике возникают ошибки и сообщения, заношу я их в массив, а обрабатываю отдельным методом:
PHP:
скопировать код в буфер обмена
  1. private function Error_Count1()
  2.         {
  3.             if(count($this->err) != 0)
  4.             {
  5.                 foreach($this->err as $display_error)
  6.                 {
  7.                     $this->error_dis = $display_error;
  8.                     echo $this->error_dis;
  9.                     exit;
  10.                 }
  11.             }
  12.         }


потом просто по нужде вызываю в классе:


И так как я отказался от ajax, теперь мне требуется отправить header на главную страницу и вывести ошибку там.
Думал писать ошибку в сессию, а потом чистить, но это как мне кажется лишняя нагрузка и не совсем правильно...
2. LIME - 12 Мая, 2013 - 21:51:16 - перейти к сообщению
если выводится ошибка то зачем редирект?
3. foozzi - 12 Мая, 2013 - 22:40:51 - перейти к сообщению
Но данные то атправляются на /add, а там только модуль, выводить на чистой странице все?
4. LIME - 12 Мая, 2013 - 22:44:32 - перейти к сообщению
перепиши красивый вывод ошибок в внешнем catch для всех модулей
и выбрасывай исключение
1 раз и навсегда коротко и ясно
(Добавление)
а...стоп
у тебя наверное не 1на точка входа
тогда хреново тебе))
ну я незнаю...сделай модуль вывода ошибок и редирект на него с передачей месаги
(Добавление)
а можешь вывести сообщение посреди страницы с редиректом обратно на страницу с формой через 3 сек <meta refresh
5. KingStar - 13 Мая, 2013 - 00:15:50 - перейти к сообщению
ставишь firebug, и записываешь в консоль ошибки, в нем есть "Не очищать" вот и смотри в консоли, если я конечно правильно понял проблему Хм
6. DelphinPRO - 13 Мая, 2013 - 03:11:59 - перейти к сообщению
foozzi пишет:
Думал писать ошибку в сессию, а потом чистить, но это как мне кажется лишняя нагрузка и не совсем правильно...

нормально это. к тому же других вариантов нет. если это сообщение для пользователя. если только для разработчика - то следуй совету KingStar
7. LIME - 13 Мая, 2013 - 11:19:42 - перейти к сообщению
DelphinPRO пишет:
к тому же других вариантов нет
вообще-то ты привел наверное самый хреновый из существующих
foozzi идеально бы было обработчик данных формы поместить в один файл с формой
тогда можно тут же и ошибки выводить и поля заполнить ранее введенными данными что не повторять ввод правильных
8. DelphinPRO - 13 Мая, 2013 - 11:41:45 - перейти к сообщению
Ему показывать ошибки нужно на другой странице. А передавать данные между запросами можно только через сессию.
9. LIME - 13 Мая, 2013 - 11:44:42 - перейти к сообщению
GET/COOKIE отменили?
10. DelphinPRO - 13 Мая, 2013 - 12:09:06 - перейти к сообщению
не придирайся )
сообщения гетом передавать будешь?
11. LIME - 13 Мая, 2013 - 12:11:36 - перейти к сообщению
не буду
и кукой не буду
и сессию не буду захламлять
(Добавление)
а редирект нужен только после удачного сохранения данных
для очистки рефреша исключительно

 

Powered by ExBB FM 1.0 RC1