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


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

> Описание: Скрипт неправильно выводит дату
Paraplegic
Отправлено: 24 Октября, 2012 - 21:16:24
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2012  


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




При выводе праздников следующего месяца, число выводится правильно, а месяц остаётся текущий. На скрине видно http://clip2net[dot]com/s/2qHjo вместо 02 и 07 октября должно быть ноября

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if(!defined('DATALIFEENGINE'))
  4. {
  5.   die("Hacking attempt!");
  6. }
  7.  
  8. // Конфигурация
  9. $klvmsg="7";  // Сколько праздников выводить, можно править
  10. $klvdays="30";  // Сколько дней до максимально удалённого праздника, можно править
  11.  
  12.  
  13. $datafile="holidays/holidays.baza";
  14. $months = array("", "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
  15. $date=date("d ".$months[date('n')]." Y");
  16. $time=date("H:i:s");
  17.  
  18. $holidays .= "<TABLE  cellPadding=10>
  19.  
  20. <TBODY>
  21. <TR><TD>Праздники Беларуси</TD></TR><TR>
  22. <TD >";
  23. $day=$date=date("d");
  24. $month=$date=date("n");
  25. $year=$date=date("Y");
  26. if ($month==12) {$year++;}
  27. $vchera=$day-1;
  28. $klvchasov=$klvdays*30;
  29. $lines=file($datafile);
  30. $itogo=count($lines); $i=0;
  31. do {$dt=explode("|",$lines[$i]);
  32. $todaydate=date("d ".$months[date('n')]." Y");
  33. $tekdt=mktime();
  34. $newdate=mktime(0,0,0,$dt[1],$dt[0],$year);
  35. $dayx=date("d ".$months[date('n')]." Y",$newdate);
  36. $hdate=ceil(($newdate-$tekdt)/3600);
  37. $ddate=ceil($hdate/24);
  38. $dney="дней"; if ($ddate=="1") {$dney="день";} if ($ddate=="2" or $ddate=="3" or $ddate=="4") {$dney="дня";}
  39. if (($dt[0]==$vchera) and ($dt[1]==$month)) {$holidays .= "<B> Вчера был праздник: </B>$dt[2] ";}
  40. if (($dt[0]==$day) and ($dt[1]==$month)) {$holidays .= "<B> Сегодня праздник: </B>$dt[2] <br>";}
  41. if ($klvmsg>1) {
  42. if (($hdate>1) and ($hdate<$klvchasov)) {
  43. if (!isset($m1)) {$holidays .= " В ближайшее время:";  $m1=1;}
  44. $klvmsg--; $holidays .="<B>$dayx</B><br/>осталось <B>$ddate</B> $dney<br> $dt[2] ";} }
  45. $i++;
  46. } while($i<$itogo);
  47. $holidays .= "</TD></TR>
  48. </TBODY></TABLE>";
  49.  
  50.  


Файл базы праздников здесь

(Отредактировано автором: 25 Марта, 2013 - 18:06:15)

 
 Top
ingram
Отправлено: 24 Октября, 2012 - 21:37:10
Post Id



Гость


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


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




Для начала почитайте http://www.php.su/lessons/?lesson_13
И приведите ваш гавнокод к нормальному виду! Это просто не уважение выкладывать код в таком виде и просить в нем разобраться.
 
 Top
Paraplegic
Отправлено: 25 Октября, 2012 - 12:03:35
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2012  


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




ingram пишет:
Для начала почитайте http://www.php.su/lessons/?lesson_13
И приведите ваш гавнокод к нормальному виду! Это просто не уважение выкладывать код в таком виде и просить в нем разобраться.


Был бы это рабочий суперкод, я бы сюда не обращался. Не я писал этот гавнокод, какой нашёл такой и выложил, здесь же не тысяча строк, кто понимает думаю разберётся. Если конечно это форум взаимопомощи, а не пинание тех кто плохо разбирается.

(Отредактировано автором: 25 Октября, 2012 - 12:14:35)

 
 Top
KingStar
Отправлено: 25 Октября, 2012 - 12:34:40
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


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




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

PHP:
скопировать код в буфер обмена
  1. if(!defined('DATALIFEENGINE')){  die("Hacking attempt!");} /* Конфигурация */ $klvmsg="7";  /* Сколько праздников выводить, можно править*/ $klvdays="30";  /* Сколько дней до максимально удалённого праздника, можно править   */ $datafile="holidays/holidays.baza";$months = array("", "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");$date=date("d ".$months[date('n')]." Y");$time=date("H:i:s"); $holidays .= "<TABLE  cellPadding=10> <TBODY><TR><TD>Праздники Беларуси</TD></TR><TR><TD >";$day=$date=date("d");$month=$date=date("n");$year=$date=date("Y");if ($month==12) {$year++;}$vchera=$day-1;$klvchasov=$klvdays*30;$lines=file($datafile);$itogo=count($lines); $i=0;do {$dt=explode("|",$lines[$i]);$todaydate=date("d ".$months[date('n')]." Y");$tekdt=mktime();$newdate=mktime(0,0,0,$dt[1],$dt[0],$year);$dayx=date("d ".$months[date('n')]." Y",$newdate);$hdate=ceil(($newdate-$tekdt)/3600);$ddate=ceil($hdate/24);$dney="дней"; if ($ddate=="1") {$dney="день";} if ($ddate=="2" or $ddate=="3" or $ddate=="4") {$dney="дня";}if (($dt[0]==$vchera) and ($dt[1]==$month)) {$holidays .= "<B> Вчера был праздник: </B>$dt[2] ";}if (($dt[0]==$day) and ($dt[1]==$month)) {$holidays .= "<B> Сегодня праздник: </B>$dt[2] <br>";}if ($klvmsg>1) {if (($hdate>1) and ($hdate<$klvchasov)) {if (!isset($m1)) {$holidays .= " В ближайшее время:";  $m1=1;}$klvmsg--; $holidays .="<B>$dayx</B><br/>осталось <B>$ddate</B> $dney<br> $dt[2] ";} }$i++;} while($i<$itogo);$holidays .= "</TD></TR></TBODY></TABLE>";


i need help Хм Хм Хм

(Отредактировано автором: 25 Октября, 2012 - 12:35:41)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
Paraplegic
Отправлено: 25 Октября, 2012 - 14:22:16
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2012  


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




Так устроит ?

Спойлер (Отобразить)

(Отредактировано автором: 25 Октября, 2012 - 20:43:29)

 
 Top
AlexAnder
Отправлено: 25 Октября, 2012 - 14:43:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


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




Спойлер (Отобразить)

(Отредактировано автором: 25 Октября, 2012 - 14:48:38)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
tsoi85
Отправлено: 25 Октября, 2012 - 14:50:03
Post Id


Новичок


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


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




Должен работать.
Спойлер (Отобразить)

(Отредактировано автором: 25 Октября, 2012 - 14:51:22)

 
 Top
Paraplegic
Отправлено: 25 Октября, 2012 - 16:37:42
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2012  


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




tsoi85 пишет:
Должен работать.


Спасибо огромное! Всё работает!
Все таки мир не без добрых людей Превосходно
 
 Top
Gowa
Отправлено: 25 Марта, 2013 - 13:56:15
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2013  


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




Paraplegic

Виложите пожалуйста файл базы или хотяби пример построения файла

(Отредактировано автором: 25 Марта, 2013 - 14:35:14)

 
 Top
Paraplegic
Отправлено: 25 Марта, 2013 - 18:08:38
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2012  


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




Обновил ссылку на базу Внизу

(Отредактировано автором: 25 Марта, 2013 - 18:09:30)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB