ввожу данные учетной записи, происходит вход. открывается страница на которой можно понять что вход впрнципе осуществлен, но при этом в шапке странице имеется следующее сообщение об ошибке:
Deprecated: Function eregi() is deprecated in X:\home\paintball\www\cutenews\inc\functions.inc.php on line 63
Deprecated: Function eregi() is deprecated in X:\home\paintball\www\cutenews\inc\functions.inc.php on line 63
Warning: Cannot modify header information - headers already sent by (output started at X:\home\paintball\www\cutenews\inc\functions.inc.php:63) in X:\home\paintball\www\cutenews\index.php on line 90
Warning: Cannot modify header information - headers already sent by (output started at X:\home\paintball\www\cutenews\inc\functions.inc.php:63) in X:\home\paintball\www\cutenews\index.php on line 91
Warning: Cannot modify header information - headers already sent by (output started at X:\home\paintball\www\cutenews\inc\functions.inc.php:63) in X:\home\paintball\www\cutenews\index.php on line 92
Deprecated: Function eregi() is deprecated in X:\home\paintball\www\cutenews\index.php on line 216
При попытке нажать в окне на любую ссылку, будь то редактиование или добавление новой новости, меня возвращает к самому началу и просят вновь ввести пароль.
вот следующий код на который в сообщении об ошибке идет ссылка: 63 строка
function check_login($username, $md5_password){
$result = FALSE;
$full_member_db = file("./data/users.db.php");
global $member_db;
foreach($full_member_db as $member_db_line)
{
if(!eregi("<\?",$member_db_line)){
$member_db = explode("|",$member_db_line);
if(strtolower($member_db[2]) == strtolower($username) && $member_db[3] == $md5_password)
{
$result = TRUE;
break;
}
}
}
return $result;
}
а именно там где появляется eregi
а вот и те строки где упомянут файл index
$cookie_logged = TRUE;
setcookie("lastusername", $username, time()+1012324305);
setcookie("username", $username);
setcookie("md5_password", $cmd5_password);
}else{
$result = "<font color=red>Íå ïðàâèëüíûé ëîãèí èëè ïàðîëü</font>";
$cookie_logged = FALSE;
В моем понимании пароль тупо не записывается, и скрипт вынужден его вновь и вновь просить.
Зашел на форум поодержки сие чуда, рускоязычного населения как ни странно не оказалось, но всё же удалось выяснить, что такая проблема якобы возможна, на что разработчик дает следующие пожелания:
Error: Deprecated: Function eregi() is deprecated in xxx\news\inc\functions.inc.php on line 289
and/or
Deprecated: Function split() is deprecated in xxx\news\inc\main.mdu on line 139
reason:your host has upgraded it's php version or has very sensitive error reporting.
First thing you have to know, everything still works as it should. These messages are NOT errors, just notices.
solution:
This is a list of what you can do, ergo don't do them all, just 1 of them.
use UTF-8 CN instead. These things have been fixed.
look at the error messages. At the end you see a file name and a line number. Go to those lines in the named file and replace accordingly.
eregi -> preg_match
next you'll probably saw something like this. you'll also need to add /
QUOTE
eregi("^[_a-zA-Z0-9-]{1,}$", $template)
--->
preg_match("/^[_a-zA-Z0-9-]{1,}$/", $template)
split -> explode
Всё вышепредложенное было опробывано, страница вообще впринципе выдает ошибку, правда уже синтаксическую, может руки не оттуда у меня растут, может слеповат....
Подскажите пожалуйста как устранить сей глюк, я имею ввиду не проблему роста рук, а проблему скрипта и синтаксической ошибки.
Спустя 7 минут, 46 секунд (2.03.2011 - 23:38) inpost написал(а):
Ниндзя-код?! ))
Спустя 29 минут, 23 секунды (3.03.2011 - 00:08) inpost написал(а):
vansamg
eregi - устаревший, уже не используется в ПХП, поэтому и вызывает ошибку. Надо переписывать через preg_match.
Cannot modify - невозможно отправить заголовок, то есть он должен оправляться до вывода любой информации на экран, будь то echo, или print, а у тебя наоборот!
+ split - какая-то фигня ещё тут.
Код устарел, врядли работать будет, его надо переписать.
eregi - устаревший, уже не используется в ПХП, поэтому и вызывает ошибку. Надо переписывать через preg_match.
Cannot modify - невозможно отправить заголовок, то есть он должен оправляться до вывода любой информации на экран, будь то echo, или print, а у тебя наоборот!
+ split - какая-то фигня ещё тут.
Код устарел, врядли работать будет, его надо переписать.
Спустя 1 минута, 13 секунд (3.03.2011 - 00:09) Awilum написал(а):
Спустя 18 часов, 47 минут, 22 секунды (3.03.2011 - 18:56) vansamg написал(а):
ну то что вы написали это не совсем официальный форум, это так сказать перерожденный скрипт под названием strawberry, а я был вот тут http://cutephp.com/forum/index.php?showforum=6
Я почитал форум о strawberry и впринципе я проникся, strawberry более отлаженная система, да и материала по ней много обсуждается, скорее всего попробую ее.
Спасибо за отклик
Я почитал форум о strawberry и впринципе я проникся, strawberry более отлаженная система, да и материала по ней много обсуждается, скорее всего попробую ее.
Спасибо за отклик
Спустя 1 час, 41 минута, 23 секунды (3.03.2011 - 20:38) andyp написал(а):
а можно отключить вывод предупреждений о deprecated
if (defined('E_DEPRECATED')) {
error_reporting(E_ALL&~E_DEPRECATED);
}