Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

PHP: Call to a member function ...   Найти похожие ветки 

 
SerJaNT ©   (2007-04-21 11:11) [0]

Файл index.php:

// выше создаю экземпляр класса Users
include "include/functions.php";


Файл functions.php:

function autoloader ($side)
{
   $autoload = ListAllFiles("autoload");
   foreach ($autoload AS $filename)
   {
       if (strpos($filename,".php"))
       {
           define("_AUTOLOAD_",$filename);
           include_once "autoload/".$filename;
           if (_SIDE_ == $side)
           {
               __start();
           }
       }
   }
}


Эта функция перебирает все файлы в диретории autoload и загружает только PHP-файлы. В этой папке всего один файл, его содержимое такое:

<?php  
if (defined("_AUTOLOAD_")) {

   define("_SIDE_", "LEVEL_3");

   function __start()
   {
       global $db,$user,$_SESSION;
       if ($_SESSION["user_logged"] == "yes")
       {
           $res8 = $db->query("SELECT * FROM %PREFIX%privmsg WHERE msg_to="".$user->GetUserInfoBy($_SESSION["user_id"],"zn_login")."" AND msg_have_read="no" AND msg_folder="inbox"");
           $count = $db->num_rows($res8);

           if ($count != 0)
           {
               print "Hello world!";
           }
       }

   }

}
?>


при выполнении пишет "Fatal error: Call to a member function GetUserInfoBy() on a non-object in e:\document\znakomsya.net\autoload\CheckNewPM.php on line 21"

21 - это где $user->GetUserInfoBy($_SESSION["user_id"],"zn_login"), но ведь экземпляр класса Users я создал еще в index.php и присвоил в $user. Почему невозможно обратиться к методу GetUserInfoBy класса Users? Переменную $user глобально объявил, вроде. Чего не хватает?


 
Zeqfreed ©   (2007-04-21 16:44) [1]

Вы вопросы по PHP сюда пишете потому, что знаете, что на phpclub.ru с такими вопросами вас засмеют, ага?


 
SerJaNT ©   (2007-04-22 00:40) [2]

> [1] Zeqfreed ©   (21.04.07 16:44)


Сюда ближе идти :)


 
homm ©   (2007-04-22 00:47) [3]

> Вы вопросы по PHP сюда пишете потому, что знаете, что на
> phpclub.ru с такими вопросами вас засмеют, ага?

Я бы, например писал имеено сюда, потому что в DMClient"е нет сверху вкладки phpclub.ru :)


 
Real ©   (2007-04-22 02:46) [4]


> // выше создаю экземпляр класса Users

А это что, топ-секретная часть? может имеет смысл привести весь исходник? или это конкурс на телепатию? Ну что ж, будем пробовать :) Регистр символов объявления функции, идентичен ее вызову?


 
SerJaNT ©   (2007-04-22 03:31) [5]

users.php
<?php    
class users
{
   function GetUserInfoBy($user_id,$field_name)
   {
       global $db;
       $res = $db->query("SELECT * FROM %PREFIX%users WHERE Id="".$user_id.""");
       $data = $db->fetch_array($res);
       return $data[$field_name];
   }
   function IsUserLogged()
   {
       if ($_SESSION["user_logged"] == "yes") return true;
       return false;
   }
}
?>


 
McSimm ©   (2007-04-22 10:56) [6]


> экземпляр класса Users я создал еще в index.php и присвоил
> в $user

Значит нет. В 21й строке в этой переменной не объект, можете убедится с помощью var_dump.

Возможно в index.php инициализация внутри функции и вы забыли глобализировать ее там. Гадать нет желания. Гораздо проще вам отладить.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.048 c
4-1166374037
Чапаев
2006-12-17 19:47
2007.05.20
Получить оповещение об изменении системного времени


3-1172739713
Егоров А.Н.
2007-03-01 12:01
2007.05.20
Сжатие таблицы


2-1177962098
vegarulez
2007-04-30 23:41
2007.05.20
Вопрос про DBGrid.(Перемещение по гриду, сколько записей видно)


1-1174570484
tytus
2007-03-22 16:34
2007.05.20
Форма поверх всех окон и панели задач.


15-1176820561
ANB
2007-04-17 18:36
2007.05.20
Чего с зарплатой будет ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский