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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Способ вернуть ошибку после редиректа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
foozzi
Отправлено: 12 Мая, 2013 - 21:30:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




Отказался от 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 на главную страницу и вывести ошибку там.
Думал писать ошибку в сессию, а потом чистить, но это как мне кажется лишняя нагрузка и не совсем правильно...


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 12 Мая, 2013 - 21:51:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




если выводится ошибка то зачем редирект?
 
 Top
foozzi
Отправлено: 12 Мая, 2013 - 22:40:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




Но данные то атправляются на /add, а там только модуль, выводить на чистой странице все?


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 12 Мая, 2013 - 22:44:32
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




перепиши красивый вывод ошибок в внешнем catch для всех модулей
и выбрасывай исключение
1 раз и навсегда коротко и ясно
(Добавление)
а...стоп
у тебя наверное не 1на точка входа
тогда хреново тебе))
ну я незнаю...сделай модуль вывода ошибок и редирект на него с передачей месаги
(Добавление)
а можешь вывести сообщение посреди страницы с редиректом обратно на страницу с формой через 3 сек <meta refresh
 
 Top
KingStar
Отправлено: 13 Мая, 2013 - 00:15:50
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




ставишь firebug, и записываешь в консоль ошибки, в нем есть "Не очищать" вот и смотри в консоли, если я конечно правильно понял проблему Хм


-----
То что программа работает, не означает что она написана правильно!
 
 Top
DelphinPRO
Отправлено: 13 Мая, 2013 - 03:11:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




foozzi пишет:
Думал писать ошибку в сессию, а потом чистить, но это как мне кажется лишняя нагрузка и не совсем правильно...

нормально это. к тому же других вариантов нет. если это сообщение для пользователя. если только для разработчика - то следуй совету KingStar


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 13 Мая, 2013 - 11:19:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




DelphinPRO пишет:
к тому же других вариантов нет
вообще-то ты привел наверное самый хреновый из существующих
foozzi идеально бы было обработчик данных формы поместить в один файл с формой
тогда можно тут же и ошибки выводить и поля заполнить ранее введенными данными что не повторять ввод правильных
 
 Top
DelphinPRO
Отправлено: 13 Мая, 2013 - 11:41:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Ему показывать ошибки нужно на другой странице. А передавать данные между запросами можно только через сессию.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 13 Мая, 2013 - 11:44:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




GET/COOKIE отменили?
 
 Top
DelphinPRO
Отправлено: 13 Мая, 2013 - 12:09:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




не придирайся )
сообщения гетом передавать будешь?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 13 Мая, 2013 - 12:11:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




не буду
и кукой не буду
и сессию не буду захламлять
(Добавление)
а редирект нужен только после удачного сохранения данных
для очистки рефреша исключительно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB