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]   

> Описание: как сделать цикл, что бы он ждал пока переменная не будет объявлена и потом что то делал дальше
filkeith
Отправлено: 16 Ноября, 2011 - 09:35:54
Post Id



Гость


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


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




Сделал вот такой обработчик ошибок (в каждом скрипте у меня после выполнения в $_SESSION[error]/[allright] записывается результат и потом с помощью jquery показывается.)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         session_start();
  3.  
  4.         if (isset($_SESSION[error]))
  5.                 {
  6.                 echo '<div class=\'error\'>'.$_SESSION[error].'</div>';
  7.                 unset($_SESSION[error]);
  8.                 }
  9.         elseif (isset($_SESSION[allright]))
  10.                 {
  11.                 echo '<div class=\'allright\'>'.$_SESSION[allright].'</div>';
  12.                 unset($_SESSION[allright]);
  13.                 }
  14. ?>

Проблема в том что у меня запускается какой либо скрипт и обработчик почти одновременно, в результате чего через раз, обработчик ошибок срабатывает быстрее основного скрипта, и соответственно результат не выводится. сначала думал сделать задержку между запуском скрипта в несколько секунд, НО разные скрипты работают с разной скорость, и вдруг работа скрипта привысит время выделенное на задержку, тогда ошибка тоже не будет показана. А ставить задержку большую глупо, ибо тогда отпадает нужда в js можно ж тогда просто страницу перезагрузить...
Вопрос: как в указанном выше скрипте сделать так что бы он так сказать "ждал" пока сесионные переменные не появятся и только потом срабатывал, т.е. в бесконенчм цикле проверял есть эта переменная или нет, и когда она появлялась то дальше уже выводил что надо. В голове так вроде всё ясно, а как не php сделать не могу допереть.
Заранее спасибо.
 
 Top
EuGen Администратор
Отправлено: 16 Ноября, 2011 - 10:26:11
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




filkeith пишет:
Проблема в том что у меня запускается какой либо скрипт и обработчик почти одновременно,

Сделайте так, чтобы не запускались одновременно, а ошибки и сообщения о них генерировались после ввода данных и их проверки.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
filkeith
Отправлено: 17 Ноября, 2011 - 08:01:41
Post Id



Гость


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


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




EuGen пишет:
Сделайте так, чтобы не запускались одновременно

Так я так и хочу, поэтому и спрашиваю как так сделать что бы не одновременно они запускались. Еще как вариант по окончанию каждого php скрипта вызывался js но пока не придумал как
 
 Top
EuGen Администратор
Отправлено: 17 Ноября, 2011 - 08:12:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Делайте AJAX-запрос по событию, когда данные уже изменены.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
filkeith
Отправлено: 17 Ноября, 2011 - 10:02:24
Post Id



Гость


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


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




я сделал просто, во всех местах где формируется ошибка, поставил вызов JS функции проверки, вроде всё норм теперь работает
 
 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