phpbb 3.2.x user_add包括自定义配置文件字段

时间:2018-02-22 11:16:13

标签: phpbb phpbb3

这让我疯了2天,我无法在谷歌的任何地方找到答案,所以非常感谢你的帮助......

我的网站上有一个自定义注册表单,它将数据发送到一个相当标准的PHPBB3 user_add进程,如下所示:

$user_row = array(
                'username'              => request_var('createUsername',''),
                'user_password'         => phpbb_hash(request_var('createPassword','')),
                'user_email'            => request_var('createEmail',''),
                'group_id'              => '2',
                'user_timezone'         => '1.00',
//              'user_dst'              => '0',
                'user_lang'             => 'en',
                'user_type'             => $user_type,
                'user_actkey'           => $user_actkey,
                'user_ip'               => $user->ip,
                'user_regdate'          => time(),
                'user_inactive_reason'  => $user_inactive_reason,
                'user_inactive_time'    => $user_inactive_time,
            );

            // Register user...
            $user_id = user_add($user_row, $cp_data);

            // If creating the user failed, display an error
            if ($user_id === false)
            {
                trigger_error('NO_USER', E_USER_ERROR);
            }

工作正常,我很满意,但是,我在管理控制面板中创建了一个名为'ea_real_name'的自定义配置文件字段,我想保留用户的真实姓名。这对应于注册表单上的一个名为'createRealName'的字段(通过$_POST['createRealName']发送)

我知道user_add带有一个名为'cp_data'的可选字段,但我不能在我的生活中弄清楚如何格式化这些数据......它应该是一个数组(类似于'ea_real_name' => request_var('createRealName','')或其他什么?

PHPBB对该字段的wiki是空的(https://wiki.phpbb.com/Custom_profile::submit_cp_field),所以帮助不大......

谢谢! : - )

1 个答案:

答案 0 :(得分:0)

我的假设是正确的!它是一个字段名称前缀为pf_的数组。

最后在这里找到答案:https://www.phpbb.com/community/viewtopic.php?f=71&t=1638905

$cp_data = array(
                    'pf_ea_real_name'  => request_var('createRealName','')
                    );

这是正确的方法......