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

Форум PHP

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

 

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

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

тема: сравнение времени на PHP
 
 автор: saider   (17.04.2009 в 11:21)   письмо автору
 
 

У меня вот такая проблема, я писал скрипт и наткнулся на такую вот проблему, как мне сделать срипт, который бы при вводе пользователем времени допустим 00:00 сравнивал с допустимым временем от 00:00 до 24:00 и если пользовательское введенное время совпадает с указанным форматом времени то вывести ответ, в противном случае ошибку

  Ответить  
 
 автор: SaIdEr   (17.04.2009 в 12:15)   письмо автору
 
   для: saider   (17.04.2009 в 11:21)
 

Я вот такой вот скрипт на мой вопрос написал, можно ли его использовать?
<?php
echo <<<EOF
<form action="2.php" method="GET">
<input type="text" class="input" maxlength="5" name="time" size="5"> 
<input type="submit" value="Отправить">
</form>
EOF;

for(
$i=0;$i<1440;$i++){
$time_zone=date("G:i"mktime(0,$i,0,0,0date("y")));
if(
$time_zone==trim($_GET['time'])) $time_f="1";
}
if(isset(
$time_f)) echo "Верно";
else echo 
"Ошибка";
?>

  Ответить  
 
 автор: vml   (17.04.2009 в 12:53)   письмо автору
 
   для: SaIdEr   (17.04.2009 в 12:15)
 

В принципе почти все верно, я бы вот так откорректировал и все было бы гуд:


<?php
if (isset($_GET["time"])) {
   for (
$i 0$i 1440$i++) { 
         
$time_zone date("H:i"mktime(0,$i,0,0,0date("y"))); 
         
$time_zone2 date("G:i"mktime(0,$i,0,0,0date("y"))); 
         if ((
$time_zone == trim($_GET['time'])) || ($time_zone2 == trim($_GET['time']))) { 
            
$time_f "1"
            break;
     }
  } 

  if  (isset(
$time_f) && $time_f == "1"
      echo 
"Верно"
  else 
      echo 
"Ошибка"
}
?>

  Ответить  
 
 автор: Trianon   (17.04.2009 в 13:05)   письмо автору
 
   для: vml   (17.04.2009 в 12:53)
 

Вы и вправду считаете, что для этой проверки нужно гонять цикл?

  Ответить  
 
 автор: SaIdEr   (17.04.2009 в 13:42)   письмо автору
 
   для: Trianon   (17.04.2009 в 13:05)
 

А утебя есть предложения полудше?:)

  Ответить  
 
 автор: Trianon   (17.04.2009 в 14:19)   письмо автору
 
   для: SaIdEr   (17.04.2009 в 13:42)
 

выделить из строки два поля любым способом (explode, preg_match, sscanf) ,
проверить их на формат (ctype_digit, strlen) и диапазон.
При применении регулярок проверка на формат решается самим preg_match

  Ответить  
Rambler's Top100
вверх

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