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]   

> Без описания
anemak
Отправлено: 28 Октября, 2011 - 10:04:01
Post Id


Новичок


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


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




Всем привет ...

Есть вот такая схема скрипта. Вопрос - как мне вместо exit('error'); возвращаться на начало скрипта и начиная с
PHP:
скопировать код в буфер обмена
  1. foreach($data as $Ключ=>$Значение)

начинать заного оперировать с массивом.

Сама схема:
PHP:
скопировать код в буфер обмена
  1. <?
  2. function Login($name, $pass)
  3. {
  4.         global $user_cookie_file;
  5.         $ch = curl_init();
  6.         curl_setopt($ch, CURLOPT_URL, 'http//:URL');
  7.         curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
  8.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9.         curl_setopt($ch, CURLOPT_POST, 1);
  10.         curl_setopt($ch, CURLOPT_POSTFIELDS, 'Имя'.$name.'Пароль'.$pass);
  11.         curl_exec($ch);
  12.         curl_close($ch);
  13. }
  14. function GetPageContent($url)
  15. {
  16.         global $user_cookie_file;
  17.         $ch = curl_init();
  18.         curl_setopt($ch, CURLOPT_URL, $url);
  19.         curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
  20.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21.         curl_setopt($ch, CURLOPT_TIMEOUT, 15);
  22.         $res = curl_exec($ch);
  23.         curl_close($ch);
  24.         return $res;
  25. }
  26. if (isset($_POST['ok']))
  27. {
  28.         $data = array("Ключ1"=>"Значение1",
  29.                       "Ключ2"=>"Значение2"
  30.                      );
  31. /*---Пошли операции с данными массива---*/
  32.         foreach($data as $Ключ=>$Значение)
  33.         {
  34.                 $name = $_POST['name'];
  35.                 $pass = $_POST['pass'];
  36.                 Login($name, $pass);
  37.                 if ()
  38. /*---Вопрос здесь---*/
  39.                 exit('error1');
  40.                 while ()
  41.                 {
  42.                         foreach ()
  43.                                 if ()
  44.                                 {
  45.                                         if ()
  46. /*---Вопрос здесь---*/
  47.                                         exit('error2');
  48.                                 }
  49.                                 elseif()
  50.                                 {
  51.                                         echo "Вывод информации";
  52.                                 }
  53.                                 else
  54.                                 {
  55.                                         if ()
  56. /*---Вопрос здесь---*/
  57.                                         exit('error3');
  58.                                         }
  59.                                 }
  60.                         }
  61.                 }
  62.         }
  63.         echo "Готово";
  64. }
  65. else
  66. {
  67.         echo"
  68.        <form method=\"post\" action=\"\">
  69.        Логин: <input type=\"text\" name=\"name\" value=\"Имя\" />        Пароль: <input type=\"password\" name=\"pass\" value=\"Пароль\" />        <input type=\"submit\" name=\"ok\" value=\"ok\" />        </form>";
  70. }
  71. ?>
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Октября, 2011 - 10:06:24
Post Id



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


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


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




continue Радость
(Добавление)
И понадобится еще: break
 
 Top
anemak
Отправлено: 28 Октября, 2011 - 10:14:41
Post Id


Новичок


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


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




DeepVarvar пишет:
continue Радость
(Добавление)
И понадобится еще: break


Спасибо, все равно не могу понять куда и как возвращаться.
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Октября, 2011 - 10:23:01
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. $arr = array("","","","a","","","","b","","","","","c","d","","","","");
  2. $out = "";
  3. foreach ($arr as $k => $v) {
  4.   if ($v == "") continue;
  5.   if ($v == "c") {
  6.     $out = "$k => $v";
  7.     break;
  8.     }
  9.   }
  10. echo $out;
 
 Top
anemak
Отправлено: 28 Октября, 2011 - 11:14:37
Post Id


Новичок


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


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




DeepVarvar, Вы наверное не поняли....

У меня изначально есть сразу готовый массив, пустых значений там нет.

В коде 3 места, где при особых условиях скрипт заканчивает работу exit'ом.

Мне нужно в этих местах, скажем, уснуть на 300 секунд - sleep(300); а затем уйти на начало скрипта, и начать обработку массива сначала.

upd. При этом авторизоваться нужно заного тоже.

(Отредактировано автором: 28 Октября, 2011 - 11:18:21)

 
 Top
Craken
Отправлено: 28 Октября, 2011 - 11:15:11
Post Id


Новичок


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


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




Можешь ч-з goto
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Октября, 2011 - 11:30:00
Post Id



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


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


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




Craken пишет:
goto
>= php 5.3
(Добавление)
anemak пишет:
а затем уйти на начало скрипта
continue.
Переделаете скрипт - будет работать.
 
 Top
anemak
Отправлено: 28 Октября, 2011 - 11:57:08
Post Id


Новичок


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


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




DeepVarvar пишет:
Craken пишет:
goto
>= php 5.3
(Добавление)
anemak пишет:
а затем уйти на начало скрипта
continue.
Переделаете скрипт - будет работать.


Использую 5.3 ...

На счет continue - а как же вложенность циклов? Разве не тот цикл на котором ошибка будет повторяться?
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Октября, 2011 - 12:04:12
Post Id



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


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


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




anemak пишет:
Использую 5.3
Это не значит что весь остальной мир уже тоже.
anemak пишет:
а как же вложенность циклов?

break(N);
(Добавление)
http://php.net/manual/ru/control...res.continue.php
(Добавление)
Там тоже вложенность может быть.
 
 Top
anemak
Отправлено: 28 Октября, 2011 - 12:21:23
Post Id


Новичок


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


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




То есть , например continue (3); перемещается в foreach($data as $Ключ=>$Значение) ?

или нумеровать нужно начинать с места откуда перемещаемся?

И ещё, скрипт продолжить работать с текущими $Ключ и $Значение ? или нужно разрушать массив?
 
 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