Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как работает скрипт?
 
 автор: Elkich   (19.06.2005 в 16:11)
 
 

Я новичок в ПХП так что сильно не бейте...
есть вот такой скрипт - вводятся параметры в форме и по кнопке загружается файл
файл маленький, а при выполненни он грузится без останова, как будто эта загрузка вызывается постоянно
Подскажите пожалуйста как надо сделать правильно, чтобы файл загрузился один раз
сам скрипт:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html lang=ru>
<head>
<title>Распарсим лог на PHP!</title>
</head>
<?php
$register_globals = (bool) ini_get('register_gobals');

If ($register_globals)
{
$self = $PHP_SELF;
}
else
{
$submit = $_GET['submit'];
$date1 = $_GET['date1'];
$date2 = $_GET['date2'];
$self = $_SERVER['PHP_SELF'];
}
// нажали кнопку
If ($submit == "Вперед!")
{
$flagerr = 0;
$god1 = substr($date1,0,4);
$mes1 = substr($date1,5,2);
$den1 = substr($date1,8,2);
if (!checkdate ($mes1, $den1, $god1))
{
echo("Введите правильную дату 1!");
$flagerr = 1;
};

$god1 = substr($date2,0,4);
$mes1 = substr($date2,5,2);
$den1 = substr($date2,8,2);
if (!checkdate ($mes1, $den1, $god1))
{
echo("Введите правильную дату 2!");
$flagerr = 1;
};
if (!$flagerr)
{
// тут надо рыть лог файлик...
$file = file("log.txt");
if(!$file)
{
echo("Ошибка открытия файла!");
}
else
{
$kvo_strok = count($file);
echo($kvo_strok); echo("<br>");
for($i=0; $kvo_strok-1; $i++)
{
echo($file[$i]); echo("<br>");
}
//fclose($file);
}
}
}
else
{
echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
echo '<form methode="post" action="'.$self.'">';
echo ' Дата 1 <input type="text" name="date1" value="2005-03-28" maxlength="10"></input>';
echo ' Дата 2 <input type="text" name="date2" value="2005-03-28" maxlength="10"></input>';
echo ' <input type="submit" name="submit" value="Вперед!"></input>';
echo '</form>';
echo '</body></html>';
}
?>

   
 
 автор: FlashG   (19.06.2005 в 16:36)   письмо автору
 
   для: Elkich   (19.06.2005 в 16:11)
 

Ошибка вот в этой строчке

 for($i=0; $kvo_strok-1; $i++) 

Тут надо написать

 for($i=0; $i<$kvo_strok; $i++) 

Вообще же, скрипт далек от совершенства

   
 
 автор: Elkich   (19.06.2005 в 17:07)
 
   для: FlashG   (19.06.2005 в 16:36)
 

хмм..... не помогает хотя написал как сказали....
такое чувство будто много раз происходит $file = file("log.txt");

конечно он не будет совершенен, т.е. я новичок

   
 
 автор: Elkich   (19.06.2005 в 17:14)
 
   для: Elkich   (19.06.2005 в 17:07)
 

вот последняя нерабочая версия

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html lang=ru>
<head>
<title>Распарсим лог на PHP!</title>
</head>
<?php
$register_globals = (bool) ini_get('register_gobals');

If ($register_globals)
{
$self = $PHP_SELF;
}
else
{
$submit = $_GET['submit'];
$date1 = $_GET['date1'];
$date2 = $_GET['date2'];
$self = $_SERVER['PHP_SELF'];
}
// нажали кнопку
If ($submit == "Gogogo")
{
list($god1,$mes1,$den1) = explode("-",$date1);
$flagerr = 0;
if (!checkdate ($mes1, $den1, $god1))
{
echo("Введите правильную дату 1!");
$flagerr = 1;
};

list($god1,$mes1,$den1) = explode("-",$date1);
if (!checkdate ($mes1, $den1, $god1))
{
echo("Введите правильную дату 2!");
$flagerr = 1;
};
if (!$flagerr)
{
// тут надо рыть лог файлик...
$file = file("log.txt");

$kvo_strok = count($file);
echo($kvo_strok); echo("<br>");
for($i=0; i<$kvo_strok; $i++)
{
echo($file[$i]); echo("<br>");
}
}
}
else
{
echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
echo '<form methode="post" action="'.$self.'">';
echo ' Дата 1 <input type="text" name="date1" value="2005-03-28" maxlength="10"></input>';
echo ' Дата 2 <input type="text" name="date2" value="2005-03-28" maxlength="10"></input>';
echo ' <input type="submit" name="submit" value="Gogogo"></input>';
echo '</form>';
echo '</body></html>';
}
?>

   
 
 автор: Elkich   (19.06.2005 в 17:24)
 
   для: Elkich   (19.06.2005 в 17:14)
 

ну я и тормоз...

for($i=0; i<$kvo_strok; $i++)

надо

for($i=0; $i<$kvo_strok; $i++)

Спасибо за помощь FlashG!

   
 
 автор: FlashG   (19.06.2005 в 17:27)   письмо автору
 
   для: Elkich   (19.06.2005 в 17:14)
 

Внимательнее пиши скрипт. Ты все в той же строке забыл знак $ перед именем переменной

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования