| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Классы |
| Автор: crow 20.8.2007, 13:30 | ||||
| привет всем, такая трабла, пишу класс для замещения стандартного механизма сессий, ну чтобы инфа о сессиях была в mysql... так вот, при вызове или создании класса для работы с БД пишет Fatal error: Using $this when not in object context вот пример одной из функций:
в чем дело не пойму... сделал по другому:
а так пашет.... собственно вопрос, почему в первом случае пишет ошибку??? |
| Автор: Mal Hack 20.8.2007, 13:34 |
| Всю имплементацию класса покажите, пожалкйста. Скорее всего ошибка в том, что вы функцию объявляете вне зоны имплементации класса. |
| Автор: crow 20.8.2007, 13:51 | ||||||
Mal Hack,
вот, класс для управления БД инклюдится в основном файле(к примеру Index.php) перед этим файлом... вроде все ок, тока еще одна ошибка есть, в начале класса сессий объявляю
Но при вызове этой переменной в запросах
пишет ту же ошибку - Fatal error: Using $this when not in object context ...... где собака зарыта??? |
| Автор: crow 20.8.2007, 14:03 | ||
эт как??? можно примерчик маленьки?? |
| Автор: Mal Hack 20.8.2007, 14:08 |
| В самом низу: http://board.mal-hack.net/lofiversion/index.php/t243.html |
| Автор: GiV 20.8.2007, 14:15 | ||||||
на
или
Дальше по аналогии. |
| Автор: crow 20.8.2007, 14:16 |
| Mal Hack, хм, ну ладно, допустим со строками разобрались.... а как быть с первой моей проблемой??? Вроде все правильно... Конечно можно не ломать голову а тупо сделать переменную $db глобальной, но я хочу разобраться, в чем именно ошибка, чтобы впредь таких ошибок не делать.... |
| Автор: Mal Hack 20.8.2007, 14:19 |
| crow, А вообще, error_reporting(E_ALL); кажется мне, что это не причина, а следствие. |
| Автор: crow 20.8.2007, 14:23 | ||||||
еси чесна, то не въхал (сорри что такой не понятливый) так вроде как не правильно:
так тоже....
ПЫ.СЫ. а при чем тут error_reporting(E_ALL); ??? кстати вот ошибки которые пишет: Fatal error: Using $this when not in object context in w:\home\test1.ru\www\lib\session_c.php on line 14 Fatal error: Using $this when not in object context in w:\home\test1.ru\www\lib\session_c.php on line 20 |
| Автор: GiV 20.8.2007, 14:28 |
| Объект класса то создан? |
| Автор: Mal Hack 20.8.2007, 14:35 |
| Покажи код создания объекта и вызова всего, чего надо. |
| Автор: crow 20.8.2007, 14:36 |
| GiV, а как же без этого??? в 5 пхп без создания объекта класса сам класс выполняться не будет.... строка 14 - создания объекта класса базы данных, строка 100 - создаем объект сессий... |
| Автор: GiV 20.8.2007, 14:37 | ||||||
| Ну да, он не создан.... 1. $this->db = new database(); в конструктор вынести 2.
Поменять на
Единственное что в PHP 4 так
|
| Автор: crow 20.8.2007, 14:43 | ||||||||
сенкс, ща попробую.... ПЫ.СЫ. я кодю на ПХП 5... так что ссылки на $session можно не писать... ))) Добавлено через 6 минут и 17 секунд GiV, хм...... вот ента да...... СПС ОГРОМНЫЙ!!! Все заработало!! ))) |
| Автор: crow 20.8.2007, 15:00 |
| кстати в запросах $this->table не трогал, и все пашет, запросы проходят.... |