这让我疯了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),所以帮助不大......
谢谢! : - )
答案 0 :(得分:0)
我的假设是正确的!它是一个字段名称前缀为pf_
的数组。
最后在这里找到答案:https://www.phpbb.com/community/viewtopic.php?f=71&t=1638905
$cp_data = array(
'pf_ea_real_name' => request_var('createRealName','')
);
这是正确的方法......