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]   

> Без описания
RoboStudent
Отправлено: 25 Сентября, 2010 - 01:27:30
Post Id



Новичок


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


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




Доброго времени суток.
Предположим, что код выглядит так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function error()
  3. {
  4.    ###
  5. }
  6.  
  7. $a = 1;
  8.  
  9. echo "1 2 3";
  10.  
  11. if ($a != 1)
  12.    echo $a;
  13. else
  14.    error();
  15. ?>

Возможно мой вопрос следовало поместить в "Напишите за меня пожалуйста", но
я в этом не уверен, так как интересует сама возможность реализации:
функцией error отменить вывод "1 2 3" и вообще всего, что PHP выводил до
вызова error. Некое "goto" или сброс, что-то вроде этого.
Буду рад любой помощи - кодом или хотя бы "Возможно" или "Не возможно".
 
 Top
RoboStudent
Отправлено: 25 Сентября, 2010 - 05:41:06
Post Id



Новичок


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


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




Хочу удалить свою тему, потому что я сошел с ума. Это же exit(); Ха-ха
 
 Top
Uchkuma
Отправлено: 25 Сентября, 2010 - 12:17:03
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




RoboStudent, очень интересно узнать, как вы функцией exit отмените то, что было выведено до этого?
 
 Top
JustUserR
Отправлено: 25 Сентября, 2010 - 12:44:59
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




RoboStudent Для обеспечения отдельного функицонального контроля для выводимого текста можно использовать различные методы - в частности сервеную буферизацию ob_start или клиентскую статическую HTML-страницу которая получает информацию с сервера посредством Iframe или AJAX-трансрорта - и исполняемый в ней JS-скрипто обеспечивает предварительый разбор получаемых данных на основе содержащихся марекеров может проводить отмену выводу путем удаления соответствующего блока из DOM-модели Тем не менее более корректным является способ представляющий собой приведение PHP-скрипта в такой стркутуре - когда он включается в себя набор независимых блочных модулей без операции вывода - в дальнейшем в заивисмости от произошедших событий принимается решение по выводы накопленной информации


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
RoboStudent
Отправлено: 26 Сентября, 2010 - 00:11:05
Post Id



Новичок


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


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




Как всегда - перед сном мне приходят в голову непонятные вещи и я думаю, что они
абсолютно верны, хотя в конечном итоге это оказывается не так. В данном случае
речь именно об exit();. Честно - пост об exit(); был не больше, чем "автоматический" бред Радость

JustUserR, спасибо Вам за исчерпывающий ответ. В данной ситуации всё же придётся
работать с ob_*, так как необходимо отказаться от каких либо JS вмешательств.
 
 Top
Uchkuma
Отправлено: 26 Сентября, 2010 - 00:30:24
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




RoboStudent пишет:
В данной ситуации всё же придётся
работать с ob_*
Да. А для очистки буфера вывода используйте ob_clean.
 
 Top
JustUserR
Отправлено: 27 Сентября, 2010 - 00:27:24
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




RoboStudent пишет:
JustUserR, спасибо Вам за исчерпывающий ответ. В данной ситуации всё же придётся
работать с ob_*, так как необходимо отказаться от каких либо JS вмешательств
Пожалуйста! При использовании готовых PHP-скриптов обеспечивающих формирование выходной информации с общей неизменной структурой - всегда можно использовать возможности буферазиции и клиентского скриптинга для управления отображемой информацией Тем не менее если у вас имеется возможность корректирования архитектурной схемы проекта то такой походя является более преимущественным - в частнсти возможно разбиение PHP-кода на отдельные функции или однопроходные do-while блоки - благодаря которым возможно обеспечивать позиционный возврат по коду


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB