discuz3.2 php获取uid
时间 : 2024-01-07 16:26:02 声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

最佳答案

在Discuz!3.2版本中,要获取用户的UID(用户ID),可以使用以下PHP代码:

```php

<?php

define('IN_DISCUZ', true);

require_once './source/class/class_core.php';

$discuz = C::app();

$discuz->init();

$uid = $_G['uid'];

上述代码中,`require_once './source/class/class_core.php';` 引入了Discuz!的核心类文件。

`$discuz = C::app();` 创建了一个Discuz!应用实例,并调用`init()`方法进行初始化。

`$uid = $_G['uid'];` 获取到当前登录用户的UID。

这样,通过上述代码,我们可以获取到当前登录用户的UID。请注意,这段代码必须在Discuz!环境中运行才能生效。

其他答案

在Discuz!3.2中,要获取当前用户的UID,可以通过以下几种方法实现:

Method 1:

使用全局变量$GLOBALS获取当前用户的UID。在Discuz!3.2中,当前用户的UID存储在$GLOBALS['_G']['uid']变量中。你可以直接访问$GLOBALS['_G']['uid']来获取当前用户的UID。

```php

$uid = $GLOBALS['_G']['uid'];

Method 2:

使用Discuz!提供的核心函数globalrun()来获取当前用户的UID。globalrun()函数可以获取并返回当前用户的UID,你可以将其赋值给一个变量。

```php

$uid = globalrun();

Method 3:

使用Discuz!的用户模型(DiscuzMembership),通过方法get_current_user()获取当前用户的UID。

```php

require_once libfile('function/member');

$uid = get_current_user();

Method 4:

使用Discuz!的数据库操作类(DB)执行SQL查询语句,从用户数据表中获取当前用户的UID。

```php

require_once libfile('class/db');

$db = DB::object();

$query = $db->query("SELECT uid FROM ".DB::table('common_member')." WHERE username = '当前用户名'");

$result = $db->fetch($query);

$uid = $result['uid'];

以上是一些常用的方法,在Discuz!3.2中获取当前用户的UID。根据你的应用场景,选择合适的方法来实现你的需求。