有什么方法可以将我的数据附加到用户全局变量中,以便我可以在其他页面上访问它?
答案 0 :(得分:2)
您有两个选择
$user->data
)上,如果它是一些不会改变的静态数据。使用hook_user
op加载,如下所示:
function module_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
case 'load':
$account->module = db_fetch_object(db_query(
'SELECT * FROM {module} WHERE uid = %d', $account->uid
));
break;
}
}
Hook用户,如果您的复杂数据发生了很大变化,那就太好了。您可以将数据存储在自己的表中,并在用户加载时将其附加到用户。缺点是,您需要运行user_load
才能获得用户对象的数据。
答案 1 :(得分:0)
如果您不需要/想要在数据库中处理数据存储,因为您只是想在用户会话期间全局访问它,您可以将其存储在$_SESSION array。
答案 2 :(得分:0)
如果数据对所有用户都是通用的,那么你也可以使用variable_set()和variable_get()。需要使用SESSIONS