Использование класса для сессионной переменной

KRON

Новичок
Использование класса для сессионной переменной

Имеется описанный свой класс, пишу
PHP:
$_SESSION['user'] = new User;
В этом же скрипте если обратиться к, к примеру,
PHP:
$_SESSION['user']->ID
- то выводиться нужное мне значение. Как только я вновь обращаюсь, таким же методом к этой переменной, он мне говорит:

Notice: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "user" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in index.php on line 14

Что с этим можно сделать? Можно ли использовать сесионную переменную как объект?

И второй вопрос.

Имеется windows сервер, на нет стоит 5 MySQL, но кодировка в нем стоит utf-8 когда я пытаюсь что то вставить в базу, получаю в ответ too loon date.
Никогда не настраивал mysql в windows, посмотрел my.ini там везде стоит кодировка default-character-set = cp1251, т.е. то что мне надо.

Подскажите что делать?
 

moxnatiy

Новичок
в сообщении об ошибке написано
"перед тем как делать unserialieze заинклюдь свой класс"
 

KRON

Новичок
moxnatiy, почему именно инклуд?
PHP:
require_once "class/user.php";
-~{}~ 03.02.06 13:32:

Фанат, не помогает никаким образом :)
 

[Gisma]

Новичок
короче объявления классса должно быть найдено... в сессии лежит только данные класса, никак не его код
 

Фанат

oncle terrible
Команда форума
KRON
нуи что? а зачем ты мне от этом рассказываешь?
 

KRON

Новичок
[Gisma], что ты понимаешь под объявлением класса?


содержимое user.php

PHP:
class user{
		var $id = -1;
		var  $name_;
		var $patro;
....
		var $PhoneMobile;
		var $DateReg;
		var $DateRegLast;
....
		var $Department;
		var $Status;
		var $Room;
		
		function __userlogin($login, $password){
	....
		}
....
}
В том скрипте в котором он создается все работает, а вот за его приделами он не воспринимает как класс.
если каждый раз создавать объект, то собственно зачем он нужен, а как сделать иначе? Я тебя что то не понял.


Фанат, можно одну просьбу лично тебе?
 

Фанат

oncle terrible
Команда форума
можно, но я её не выполню =)

-~{}~ 03.02.06 13:43:

В том скрипте в котором он создается все работает
ты понимаешь разницу между словами "объект" и "класс"?
 

KRON

Новичок
Фанат, ну я и не сомневалыся что тебе будет очень сложно не отвечать в теме, если твой ответ абсолютно ничем не помогает.

-~{}~ 03.02.06 13:45:

user - это класс, а $_SESSION['user'] - это объект класса

-~{}~ 03.02.06 13:46:

Могу дать источник. Дмитрий Котеров. РНР 5 в подленнике. стр. 634
 

Фанат

oncle terrible
Команда форума
если твой ответ абсолютно ничем не помогает.
это твоё субъективное мнение.
причём основано оно на том, что ты сам не желаешь себе помочь.

К сожалению, правила форума в данном случае однозначны, и толкуются не в твою пользу.

-~{}~ 03.02.06 13:48:

user - это класс, а $_SESSION['user'] - это объект класса
отлично.
что из этого создаётся, а что - объявляется?
 

KRON

Новичок
Фанат, ты сейчас сделал лишь одно угробил тему, причем надо заметить ничего дельного и полезного для меня не сказав. Правила форума можно писать по разному при желании можно конечно указать и так "Если у вас есть вопоросы" по РНР то этот форум не для вас. Только вот зачем он тогда?

Сидите пожалуйста на своей американизированной пятой точке ровно.

-~{}~ 03.02.06 13:51:

user - объявляется
$_SESSION['user'] - создается, я что похож на школьника на переэкзаменовке?
 

Фанат

oncle terrible
Команда форума
да, похож.
тебе говорят - надо объявить (класс), а ты отвечаешь -
если каждый раз создавать объект
Фанат, ты сейчас сделал лишь одно угробил тему
слушай, ты меня припарил.
тебя, по-моему, моя скромная персона волнует гораздо больше твоих собственных проблем.
 

KRON

Новичок
меня интересует только одно, вернее две вещи:

Первая:
1. Класс описан в файле user.php
2. На всех необходимых страницах стоит require_once "class/user.php";
3. На страницы где написанно $_SESSION['user'] = new User;
к свойствам объекта есть доступ.
4. На остальных страницах, (где нет $_SESSION['user'] = new User;, но объект уже должен быть создан) обратиться к его свойствам невозможно.

Что делать?

Вторая здесь пока не уместна

-~{}~ 03.02.06 14:01:

Почитать faq это не решение.
 

Фанат

oncle terrible
Команда форума
вещь первая: прочти первый ответ на свой вопрос
вещь вторая: прочти второй ответ на свой вопрос
 

KRON

Новичок
Ответ первый:
в сообщении об ошибке написано
"перед тем как делать unserialieze заинклюдь свой класс"
Чем require отличается от include хотя в прочем и с тем и с тем ошибка одна и таже.
 

Фанат

oncle terrible
Команда форума
господи, да НИЧЕМ! делай реквайр! только так, как написано!
 

KRON

Новичок
Я честное слово сейчас кину все исходники и ты поймоешь что все и так сделанно так как говорите, но не работает.
 

Фанат

oncle terrible
Команда форума
все исходники кидать не надо.
надо написать тестовый пример.
из 5 строчек.
и на нём тренироваться
 

Фанат

oncle terrible
Команда форума
Я уже предостаточно с тобой наобщался лично.
узнал о себе много нового.
продолжать нет ни малейшего желания.
 
Сверху