отображение номера цикла в html

guru85

Постоялец
Регистрация
24 Мар 2010
Сообщения
100
Реакции
4
Нужна помощь, есть автопостер, скрипт состоит из двух частей первая визуальная с формами и с хтмл тегами, вторая непосредственно сам скрипт. после заполнения форм нажимаем кнопку пуск, запускаем скрипт, в скрипте начинается обработка 1000 циклов. Вопрос как увидеть в реальном времени каой цикл на данный момент обрабатывается? ведь после нажатия кнопки пуск с визуально странички перекидывает на скрипт и пока он не завершит работу отчет невиден. вот пример визуальной странички
PHP:
form method="post" action="submiter.php">
<p>
  <label for="url"> URL</label>
  <textarea name="url" cols="40" rows="10" id="url"></textarea>
  </p>
<input type="submit" name="start" value="Пуск" />
и часть скрипта
PHP:
for ($i=0;$i<1000;$i++)
 {тут всякие дела }
визуальная страничка index.php сам скрипт submiter.php
 
Н странички
PHP:
 невиден. вот пример визуальной странички [PHP]
form method="post" action="submiter.php">
<p>
  <label for="url"> URL</label>
  <textarea name="url" cols="40" rows="10" id="url"></textarea>
  </p>
<input type="submit" name="start" value="Пуск" />
и часть скрипта
PHP:
for ($i=0;$i<1000;$i++)
 {тут всякие дела }
визуальная страничка index.php сам скрипт submiter.php

ob_start();

тут цикл и все что надо выводить.
каждую итерацию должно выбрасывать в браузер
ob_flush();
flush();
 
да получилось о вот в таком виде
PHP:
номер цикла
0
номер цикла
1
а хотелось бы чтобы заменялось одно на другое
 
да получилось о вот в таком виде
PHP:
номер цикла
0
номер цикла
1
а хотелось бы чтобы заменялось одно на другое

Что значит одно на другое, пример приведите хотя бы.
 
Что значит одно на другое, пример приведите хотя бы.
при выводе номера цикла старое значение не стирается, просто добавляется новое... В итоге будет запись типа 12345678910111213....
guru85 попробуй применить ява скрипт... например так:
PHP:
<form id=for action='' method=get><input type=button id=counter value='dd'>
<?php
for ($i=0;$i<1000;$i++)
 {
?>
 <script language="JavaScript">document.getElementById("counter").value = "<?php echo $i; ?>"; </script>
<?php
 }
?>
тогда номер цикла будет отображаться на кнопочке, заменяя новым значением старое... Одно НО... скорость обработки цикла настолько большая, что скорее всего ты увидишь только последнее значение 999. Если хочешь контролировать процесс можешь сменить приведенный ява скрипт на alert("<?php echo $i; ?>");
Только будь готов кликать 1000 раз на кнопочку "Ок" :))))
 
Как я делаю- пишу текущий цикл в файл, а вывожу в фрейме через рефреш, в форме с настройками.
 
не думаю что скорость будет большая, скрипт выполняет достаточно много задач за один цикл, это же сабмитер он отправляет данные,а это я так понимаю больше зависит от скорости интернет соединения. у меня еще два вопроса.
1. есть форма в как я уже называл визуальном файле index.php например
PHP:
<label for="blogurl">URL</label>
  <textarea name="blogurl" cols="40" rows="10" id="blogurl"></textarea>
  </p>
скрипт (файл submiter.php) считает кол во заполненных строк в форме и передает их в переменную задавая тем самым число интераций цикла for
PHP:
 if (!empty($_POST ['blogurl'])) {$url=$_POST ['blogurl'];} else{  echo ('<h1>Enter Blog Url!!!</h1>');exit;}
   $masurl=explode("\n",$url);
   $for=(trim(count($masurl))); // формируем число циклов из колличества урлов
for ($i=0;$i<$for;$i++)
Задача: вывести число заполненных строк сразу внизу формы при заполнении в визуально файле, как это реализовать?
2. Как поставить защиту чо бы открывались все php файлы скрипта после ввода пароля и полный запрет на открытие файла submiter.php путем ввода урла, разрешить только с кнопки пуск в визуальном файле index.php для доступа к которому так же необходимо ввести пароль.
З.Ы. Пытаюсь изучит php с яваой пока вообще не разобрался.
 
Посчитать количество строк, так сказать в реал-тайме, может такой ява скрипт:
PHP:
<script language="JavaScript">
function textareaCurLineNum(obj)
{
 document.forms[0].counter.value = obj.value.split(/[\n]/g).length;
}
</script>


<form>
<textarea name="blogurl" cols="40" rows="10" id="blogurl" onkeyup="javascript:textareaCurLineNum(this); "></textarea>  <br>
Строк заполнено: <input type=text id=counter value="0">
        </form>
Я надеюсь сообразишь как применить его для своей формы...
Да прочитай как выглядит иерархия объектов документа в ява скрипте ибо если у тебя на странице не одна форма есть то функция работать будет не туда куда нужно!!! (имею ввиду forms[0])
Для того что бы открывались все php файлы скрипта после ввода пароля создай один файл, который будет производить аутентификацию пользователя например по куки...
То есть проверит есть ли у пользователя определённый куки с определённым содержанием... если нету -предложить форму ввода имени и пароля... если пароль и имя верные - то записать пользователю куки...
Этот файл подгружать инклудом в начале каждого рнр файла... Ну или что то в этом роде... Системы аутентификации описаны практически в каждой книге по пхп...
Почти полного запрета на открытие файла submiter.php путем ввода урла можно добиться поставив в самом начале файла проверку на наличие пост переменной
if(isset($_POST['aaaa]) && $_POST['aaaa]=="zz" ){ код страницы} else{echo "go home chiter!";}
А в тело формы добавить скрытое поле с именем "аааа" и значением "zz" саму же форму отправлять методом POST...
P.S. в теле мною приведенного кода, в строке document.forms[0].counter.value форум затирает левый слеш перед символом "n"
 
Назад
Сверху