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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Проверка даты и ссылки
DOciK
Отправлено: 30 Августа, 2014 - 16:04:29
Post Id


Новичок


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


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




Здравствуйте напишите пожалуйста рабочий код для проверки даты(чтоб пользователь не мог ввести прошедшую дату).
И подскажите по поводу проверки ссылок, есть такой код
PHP:
скопировать код в буфер обмена
  1.  
  2.  $url = "$site";
  3.  $Headers = @get_headers($url);
  4. if(preg_match("|200|", $Headers[0]))
  5. {print 'ссылка существует';}
  6. else {print 'Вы ввели не существующую ссылку';}
  7.  

проверяет ссылку на существование, но только ту ссылку которая с http//: без этого пишет что ссылка не действительна, а как сделать чтоб работала и с http//: и без него
 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 16:56:32
Post Id


Участник


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


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




PHP:
скопировать код в буфер обмена
  1. Здравствуйте напишите пожалуйста рабочий код для проверки даты

Насколько прошедшую дату?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data=date("Ymd");
  4.  $somthing=$data-1;
  5.  
  6.  if($somthing < $data) {
  7.  
  8.  echo "Wrong date!";
  9.  
  10.  }
  11.  
  12. ?>


-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 17:01:50
Post Id


Новичок


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


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




Условно говоря, сегодня 30.08.2014 г, так вот чтоб 29.08.14 пользователь уже не мог ввести
(Добавление)
Этот код вне зависимости от того какую дату вводишь пишет Wrong date
 
 Top
Ch_chov
Отправлено: 30 Августа, 2014 - 17:45:04
Post Id



Постоянный участник


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $date = '29.08.2014';
  3.  
  4. if (strtotime($date) < time()) {
  5.   echo 'Past';
  6. }
  7. else {
  8.   echo 'future';       
  9. }
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 17:46:38
Post Id


Новичок


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


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




Ch_chov пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $date = '29.08.2014';
  3.  
  4. if (strtotime($date) < time()) {
  5.   echo 'Past';
  6. }
  7. else {
  8.   echo 'future';       
  9. }

Да, но я же не буду каждый день заходить и править код
 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 17:52:54
Post Id


Участник


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


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




Цитата:
Этот код вне зависимости от того какую дату вводишь пишет Wrong date

Тебе надо получить от пользователя дату - какие-то данные. Может быть, обработать, так как неизвестно, как он их введет. Эти данные должны оказаться в переменной, допустим something, далее эту переменную надо сравнить с текущей датой.
Сначала нужно понять, в каком формате будут введены данные. Если нельзя ни датой меньше, ни датой больше, то просто сравниваешь две переменные.

Код приведен для примера:
PHP:
скопировать код в буфер обмена
  1.  $data=date("Ymd");
  2.  
  3.      if($somthing != $data) {
  4.      
  5.      echo "Wrong date!";
  6.      
  7.      }




PHP:
скопировать код в буфер обмена
  1. проверяет ссылку на существование, но только ту ссылку которая

Наверное, так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $http="http://";
  4.  
  5. $uri = "forum.php.su/topic.php?forum=60&topic=6252&postid=1409406992#1409406992";
  6.  
  7.  $ht = strpos($uri, $http);
  8.  
  9.  if($ht===false) {
  10.  
  11.  $url=$http;
  12.    $url.=$uri;
  13.    
  14.    }
  15. else {
  16.  
  17. $url=$uri;
  18.  
  19. }
  20.  
  21.  $Headers = @get_headers($url);
  22. if(preg_match("|200|", $Headers[0]))
  23. {print 'ссылка существует';}
  24. else {print 'Вы ввели не существующую ссылку';}
  25.  
  26. ?>

(Отредактировано автором: 30 Августа, 2014 - 17:54:22)



-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 18:03:45
Post Id


Новичок


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


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




Попорядку у меня есть такая форма
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="/form/form.php" method="POST" name="form">
  3. <center><label>Date of event:<input type="date" name="Date_of_event" placeholder="|yyyy-mm-dd" required/></label></center><br>

От куда я получаю данные в формате даты y-m-d
Далее я определяю переменную с полученным значением
PHP:
скопировать код в буфер обмена
  1. $Date_of_event = $_POST['Date_of_event'];

теперь мне нужно проверить, не введет ли пользователь данные какой-нибудь французской революции 1848, но нужно не только чтоб небыло точных дат истории мира, но и вчерашней даты тоже, причем нужно чтоб php сам определял сегодняшнюю дату и выдавал ошибку в случае если дата раньше чем сегодня.Вот собственно наверное и все
 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 18:18:58
Post Id


Участник


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


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




PHP:
скопировать код в буфер обмена
  1. $data=date("Ymd");
  2.  
  3.     $Date_of_event = '2014-08-30';
  4.      
  5.     if (strtotime($Date_of_event) != strtotime($data)) {
  6.       echo 'Wrong date';
  7.        
  8.     }
  9.     else {
  10.       echo 'Ok';  
  11.  }  


-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 18:44:13
Post Id


Новичок


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


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




Но тогда мне придется каждый день заходить и писать $Date_of_event = сегодняшняя дата? А мне нужно автоматом
(Добавление)
И сейчас пишет неправильная дата вне зависимости от даты которую я ему задаю, что в будущем что в прошлом все равно wrong date
 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 18:55:57
Post Id


Участник


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


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




Я перестал понимать. Вот есть форма:
PHP:
скопировать код в буфер обмена
  1. <form action="/form/form.php" method="POST" name="form">
  2. <center><label>Date of event:<input type="date" name="Date_of_event" placeholder="|yyyy-mm-dd" required/></label></center><br>


Вот есть скрипт. Ввел пользователь : 2014-08-28 или даже так 20140828 и ничего не получил, ввел 2014-08-30 - получил.
Переменная data - принимает значение даты, которая установлена на сервере в текущий момент:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $data=date("Ymd");
  4.  
  5.  $Date_of_event = $_POST['Date_of_event'];  
  6.  
  7.     if (strtotime($Date_of_event) < strtotime($data)) {
  8.       echo 'Wrong date';
  9.        
  10.     }
  11.     else {
  12.       echo 'Ok';  
  13.  }
  14. ?>
  15.  

(Отредактировано автором: 30 Августа, 2014 - 19:04:42)



-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 19:02:51
Post Id


Новичок


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


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




Скопировал скрипт вставил, сохранил, на сайте ввожу 20 сентября 2014 года и выдает Wrong date
то есть ввел 2014-09-20 и получил Wrong date

(Отредактировано автором: 30 Августа, 2014 - 19:04:33)

 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 19:06:21
Post Id


Участник


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


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




Меняем знак проверки на <:


-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 19:09:59
Post Id


Новичок


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


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




Заработало, спасибо огромнейшeе, сам хрен бы допер что можно сделать! Спасибо

(Отредактировано автором: 30 Августа, 2014 - 19:10:21)

 
 Top
dcc0
Отправлено: 30 Августа, 2014 - 19:17:39
Post Id


Участник


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


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




DOciK , без обид, вы не четко сформулировали вопрос, поэтому так долго.

Со вторым вопросом по поводу ссылки, проверили? Так ли?
Код наверху.
Удачи!

(Отредактировано автором: 30 Августа, 2014 - 19:17:55)



-----
Март 2021. Бросил программирование
 
 Top
DOciK
Отправлено: 30 Августа, 2014 - 19:17:45
Post Id


Новичок


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


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




И можно еще один вопрос как сделать, что иф было правдой, а элсе ложью
(Добавление)
DOciK пишет:
И можно еще один вопрос как сделать, что иф было правдой, а элсе ложью

Нет, ссылкой не работает, не проверяет все в базу закидывает
(Добавление)
Сейчас сформулирую правильно - мне нужно чтоб после выражения
процесс продолжался, а else выдало ошибку) Если не сложно, а то у меня весь код по молдавски написан, я вообще врач и далек от всех правильных моментов написания php скрипта
(Добавление)
никаких обид, я даже не обижусь если вы меня идиотом назовете, я возможно действительно не очень понимаю как спросить, потому что не сильно понимаю что спрашиваю ))

(Отредактировано автором: 30 Августа, 2014 - 19:25:02)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB