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

Форум PHP

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

 

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

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

тема: На хосте в журнале error_log вижу ошибку "PHP Warning:
 
 автор: M0RE   (17.03.2009 в 18:35)   письмо автору
 
 

PHP Warning: mktime() expects parameter 4 to be long, string given in /lz/code/eta.php on line 9

вот сама 9 строка:

$___d=ceil((mktime(0, 0, 0, $oplatado_ank[5].$oplatado_ank[6],$oplatado_ank[8].$oplatado_ank[9], $oplatado_ank[0].$oplatado_ank[1].$oplatado_ank[2].$oplatado_ank[3])-time())/86400);

что им не нравится?
спасибо

  Ответить  
 
 автор: nikita2206   (17.03.2009 в 19:05)   письмо автору
 
   для: M0RE   (17.03.2009 в 18:35)
 

говорит что 4-ый аргумент передаваемый функции mktime, очень длинный...
возможно вы месяц задаете в формате типа: october, а надо: 10

  Ответить  
 
 автор: M0RE   (17.03.2009 в 19:45)   письмо автору
 
   для: nikita2206   (17.03.2009 в 19:05)
 

4-ый - $oplatado_ank[5]. ?
а не может быть это связано с количеством открытых (зыкрытых) скобок или точек(запятых) между аргументами?

  Ответить  
 
 автор: nikita2206   (17.03.2009 в 20:23)   письмо автору
 
   для: M0RE   (17.03.2009 в 19:45)
 

что выводит echo $oplatado_ank[5].$oplatado_ank[6]; ?????????

  Ответить  
 
 автор: M0RE   (17.03.2009 в 20:30)   письмо автору
 
   для: nikita2206   (17.03.2009 в 20:23)
 

я не программист.
вот что выводится на сайте:

Сегодня 17 марта 2009
Оплачено до 15 мая 2009
Осталось дней 59

$___d=ceil((mktime(0, 0, 0, $oplatado_ank[5].$oplatado_ank[6],$oplatado_ank[8].$oplatado_ank[9], $oplatado_ank[0].$oplatado_ank[1].$oplatado_ank[2].$oplatado_ank[3])-time())/86400);
if ($oplatado_ank>0)
{
$printdate=mkstrdatefromdig($oplatado_ank) ;
echo gtnds($login_ank)."Сегодня ".mkstrdatefromdig(date('Y-m-d'))."<br>Оплачено до <u>$printdate</u><br>Осталось дней $___d";

  Ответить  
 
 автор: AcidTrash   (17.03.2009 в 20:50)   письмо автору
 
   для: M0RE   (17.03.2009 в 20:30)
 


$oplatado_ank

И какое значение из этого массива под номером 5 и 6?

  Ответить  
 
 автор: M0RE   (17.03.2009 в 21:14)   письмо автору
 
   для: AcidTrash   (17.03.2009 в 20:50)
 

не знаю я..
где это посмотреть?

  Ответить  
 
 автор: AcidTrash   (17.03.2009 в 21:44)   письмо автору
 
   для: M0RE   (17.03.2009 в 21:14)
 

Выведите
<?
<pre>
print_r($oplatado_ank);
?>

  Ответить  
 
 автор: M0RE   (17.03.2009 в 21:52)   письмо автору
 
   для: AcidTrash   (17.03.2009 в 21:44)
 

как вывести?

вот пробовал просто дописать
<?
<pre>
print_r($oplatado_ank);
?>

тогда:

Parse error: syntax error, unexpected '<'

  Ответить  
 
 автор: Лена   (17.03.2009 в 22:57)   письмо автору
 
   для: M0RE   (17.03.2009 в 21:52)
 

Еще раз попробуйте.

<?php
print "<pre>"
print_r($oplatado_ank); 
print 
"</pre>"
?> 



Все, что покажется на экране - покажите здесь.

  Ответить  
 
 автор: M0RE   (17.03.2009 в 23:08)   письмо автору
 
   для: Лена   (17.03.2009 в 22:57)
 

воть что появилось (это и есть дата, до которой оплачено):

2009-05-15



(я не программист, поэтому и спрашиваю. иначе бы сам другим помогал))

  Ответить  
 
 автор: AcidTrash   (17.03.2009 в 22:09)   письмо автору
 
   для: M0RE   (17.03.2009 в 20:30)
 

я не программист
Даже не знаю как дальше продолжать.

  Ответить  
 
 автор: M0RE   (18.03.2009 в 08:43)   письмо автору
 
   для: AcidTrash   (17.03.2009 в 22:09)
 

просто подскажите, что там подправить...

  Ответить  
 
 автор: vito   (18.03.2009 в 09:43)   письмо автору
 
   для: M0RE   (17.03.2009 в 18:35)
 

попробуйте так:

$___d=ceil((mktime(0, 0, 0, (int)$oplatado_ank[5].$oplatado_ank[6],$oplatado_ank[8].$oplatado_ank[9], $oplatado_ank[0].$oplatado_ank[1].$oplatado_ank[2].$oplatado_ank[3])-time())/86400);

  Ответить  
 
 автор: M0RE   (18.03.2009 в 10:15)   письмо автору
 
   для: vito   (18.03.2009 в 09:43)
 

да, там появилось такое здоровенное число - 05 (видимо, обозначает май).

но добавление int ничего не изменило..

ошибку все равно показывает (

  Ответить  
 
 автор: vito   (19.03.2009 в 07:58)   письмо автору
 
   для: M0RE   (18.03.2009 в 10:15)
 

тогда можно сделать так:

$___d=ceil(( @ mktime(0, 0, 0, $oplatado_ank[5].$oplatado_ank[6],$oplatado_ank[8].$oplatado_ank[9], $oplatado_ank[0].$oplatado_ank[1].$oplatado_ank[2].$oplatado_ank[3])-time())/86400); 

  Ответить  
 
 автор: M0RE   (25.03.2009 в 10:48)   письмо автору
 
   для: vito   (19.03.2009 в 07:58)
 

попробовал - кажется, это именно то, что нужно.
ту ошибку не вижу.
спасибо!

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

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