КучО
30.03.2008, 21:35
Всем привет!
Имеется скрипт (http://usfree.chat.ru/browser.txt)
Под php4 работает на ура
Если же запустить под php5, и сайт использует cookies, то скрипт вылетает с ошибкой:
Warning: strtotime() expects parameter 2 to be long, string given in (тут путь).php on line 199
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 200
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 273
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 368
Как я понял, проблема кроется в строке:
if ($expires_array[$i] && strtotime($expires_array[$i],"\n")){$expires_array[$i]=strtotime($expires_array[$i],"\n");} else {$expires_array[$i]=time()+$cookie_expires;}
Если код заменить на
if ($expires_array[$i] && strtotime($expires_array[$i]."\n")){$expires_array[$i]=strtotime($expires_array[$i]."\n");} else {$expires_array[$i]=time()+$cookie_expires;}
то ошибки перестают выскакивать, однако работа с куками начинает подглюкивать. например, на яндексе проверить почту можно, а посмотреть конкретное сообщение нельзя. повторюсь, под php4 все было нормально. кто может предложить более красивое решение?
Имеется скрипт (http://usfree.chat.ru/browser.txt)
Под php4 работает на ура
Если же запустить под php5, и сайт использует cookies, то скрипт вылетает с ошибкой:
Warning: strtotime() expects parameter 2 to be long, string given in (тут путь).php on line 199
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 200
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 273
Warning: Cannot modify header information - headers already sent by (output started at (тут путь).php:199) in (тут путь).php on line 368
Как я понял, проблема кроется в строке:
if ($expires_array[$i] && strtotime($expires_array[$i],"\n")){$expires_array[$i]=strtotime($expires_array[$i],"\n");} else {$expires_array[$i]=time()+$cookie_expires;}
Если код заменить на
if ($expires_array[$i] && strtotime($expires_array[$i]."\n")){$expires_array[$i]=strtotime($expires_array[$i]."\n");} else {$expires_array[$i]=time()+$cookie_expires;}
то ошибки перестают выскакивать, однако работа с куками начинает подглюкивать. например, на яндексе проверить почту можно, а посмотреть конкретное сообщение нельзя. повторюсь, под php4 все было нормально. кто может предложить более красивое решение?