我想知道是否有人可以帮我制作phpbb的注册表格。我需要这个用于我正在做的网站,客户希望不会为同一个人拥有2个不同的帐户。
所以我调查了这个,我找到了函数add_user()
,但我不知道如何使用它。我也在phpbb论坛上问过,他们所做的只是在维基页面上指出了这个功能,这对我来说再也没有帮助。
所以,如果有人知道如何使用它,或者如何制作类似的东西的教程,请帮助我!
答案 0 :(得分:4)
像这样使用
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$user_row = array(
'username' => "his username",
'user_password' => phpbb_hash("new_password"),
'user_email' => "mail@ofuser.com",
'group_id' => 2,
'user_timezone' => 1,
'user_dst' => 1,
'user_lang' => "en",
'user_type' => 0,
'user_actkey' => "",
'user_ip' => "",
'user_regdate' => time(),
'user_inactive_reason' => 0,
'user_inactive_time' => 0,
);
user_add($user_row, $cp_data);
答案 1 :(得分:0)
user_add非常简单易用。但在使用之前,您需要检查输入的有效性。例如,检查用户是否已存在。
这就是我的构建。这会处理提交用户名,电子邮件和密码的表单:
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('');
//Do something here to retrieve get/post variables
// Validate input
$invalid_username = validate_username($username);
$invalid_email = validate_email($email);
$invalid_password = validate_password($password);
if($invalid_username || $invalid_password || $invalid_email){ //handle error
}
//Build user_row array
$user_row = array(
'username' => $username,
'user_password' => phpbb_hash($password),
'user_email' => $email,
'group_id' => 2,
'user_lang' => 'en_us',
'user_type' => USER_NORMAL,
'user_ip' => $user->ip,
'user_regdate' => time(),
);
//register and handle error
$user_id = user_add($user_row);
if ($user_id === false){
//handle error
}