[drupal-devel] Storing arbitrary data for a user
Moshe Weitzman
weitzman at tejasa.com
Sat Feb 19 23:55:51 UTC 2005
Dan - all you need to do is set $user with new properties during
hook_user('form') or hook_user('validate'). They will be saved
automatically by user.module. So if you want to set a gender, just do
this
global $user;
$user->gender = 'female';
-moshe
On Feb 19, 2005, at 3:58 AM, Dan Robinson wrote:
>
>
> Steven Wittens wrote:
>
>> Mark wrote:
>>
>>> Dan Robinson wrote:
>>>
>>>> I have a small amount of persistant data I would like to associate
>>>> with a user and would like to avoid creating a new table to store
>>>> it in. I have come across variable_get and variable_set - which is
>>>> great - but probably not appropriate for what I'm doing. I've also
>>>> seen user->categories, but can't find any doco or info on what this
>>>> is.
>>>>
>>>> Thanks,
>>>>
>>>> Dan
>>>
>>>
>>>
>>> Try the $user->data array. You should be able to insert your user
>>> data there.
>>>
>>> To see what's currently stored there (as serialized data):
>>> select uid, name, data from users;
>>
>>
>> Custom $user fields will already be saved without modifying ->data
>> directly. In fact, custom fields that do not go into data need to be
>> unset explicitly in hook_user('save') to prevent this.
>
> I'm kind of getting this, but not quite. How do I declare a customer
> $user field? I'm already using the hook_user stuff so I know "when"
> to do it, but I still don't know where to put this data.
>
> Thanks,
>
> Dan
>
>>
>>
More information about the drupal-devel
mailing list