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
Форумы портала PHP.SU :: Версия для печати :: Проверка даты и ссылки
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Проверка даты и ссылки

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

1. DOciK - 30 Августа, 2014 - 16:04:29 - перейти к сообщению
Здравствуйте напишите пожалуйста рабочий код для проверки даты(чтоб пользователь не мог ввести прошедшую дату).
И подскажите по поводу проверки ссылок, есть такой код
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//: и без него
2. dcc0 - 30 Августа, 2014 - 16:56:32 - перейти к сообщению
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. ?>
3. DOciK - 30 Августа, 2014 - 17:01:50 - перейти к сообщению
Условно говоря, сегодня 30.08.2014 г, так вот чтоб 29.08.14 пользователь уже не мог ввести
(Добавление)
Этот код вне зависимости от того какую дату вводишь пишет Wrong date
4. Ch_chov - 30 Августа, 2014 - 17:45:04 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $date = '29.08.2014';
  3.  
  4. if (strtotime($date) < time()) {
  5.   echo 'Past';
  6. }
  7. else {
  8.   echo 'future';       
  9. }
5. DOciK - 30 Августа, 2014 - 17:46:38 - перейти к сообщению
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. }

Да, но я же не буду каждый день заходить и править код
6. dcc0 - 30 Августа, 2014 - 17:52:54 - перейти к сообщению
Цитата:
Этот код вне зависимости от того какую дату вводишь пишет 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. ?>
7. DOciK - 30 Августа, 2014 - 18:03:45 - перейти к сообщению
Попорядку у меня есть такая форма
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 сам определял сегодняшнюю дату и выдавал ошибку в случае если дата раньше чем сегодня.Вот собственно наверное и все
8. dcc0 - 30 Августа, 2014 - 18:18:58 - перейти к сообщению
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.  }  
9. DOciK - 30 Августа, 2014 - 18:44:13 - перейти к сообщению
Но тогда мне придется каждый день заходить и писать $Date_of_event = сегодняшняя дата? А мне нужно автоматом
(Добавление)
И сейчас пишет неправильная дата вне зависимости от даты которую я ему задаю, что в будущем что в прошлом все равно wrong date
10. dcc0 - 30 Августа, 2014 - 18:55:57 - перейти к сообщению
Я перестал понимать. Вот есть форма:
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.  
11. DOciK - 30 Августа, 2014 - 19:02:51 - перейти к сообщению
Скопировал скрипт вставил, сохранил, на сайте ввожу 20 сентября 2014 года и выдает Wrong date
то есть ввел 2014-09-20 и получил Wrong date
12. dcc0 - 30 Августа, 2014 - 19:06:21 - перейти к сообщению
Меняем знак проверки на <:
13. DOciK - 30 Августа, 2014 - 19:09:59 - перейти к сообщению
Заработало, спасибо огромнейшeе, сам хрен бы допер что можно сделать! Спасибо
14. dcc0 - 30 Августа, 2014 - 19:17:39 - перейти к сообщению
DOciK , без обид, вы не четко сформулировали вопрос, поэтому так долго.

Со вторым вопросом по поводу ссылки, проверили? Так ли?
Код наверху.
Удачи!
15. DOciK - 30 Августа, 2014 - 19:17:45 - перейти к сообщению
И можно еще один вопрос как сделать, что иф было правдой, а элсе ложью
(Добавление)
DOciK пишет:
И можно еще один вопрос как сделать, что иф было правдой, а элсе ложью

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

 

Powered by ExBB FM 1.0 RC1