Главная страница
    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.041 c
15-1176963350
Pazitron_Brain
2007-04-19 10:15
2007.05.20
Ищется память для ноутбука


1-1174637714
tytus
2007-03-23 11:15
2007.05.20
Запущенное приложение и панель задач.


1-1174837818
@Voldemar
2007-03-25 19:50
2007.05.20
Добавление своей вкладки.


15-1176840318
ArtemESC
2007-04-18 00:05
2007.05.20
Как в Far e делается FTP-соединение?


2-1178261833
Doom-2
2007-05-04 10:57
2007.05.20
существует у Flash-ки и ZIV-а какой-нибудь "ID"?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский