如何为phpbb制作注册表单

时间:2011-06-24 14:26:19

标签: php forms phpbb

我想知道是否有人可以帮我制作phpbb的注册表格。我需要这个用于我正在做的网站,客户希望不会为同一个人拥有2个不同的帐户。

所以我调查了这个,我找到了函数add_user(),但我不知道如何使用它。我也在phpbb论坛上问过,他们所做的只是在维基页面上指出了这个功能,这对我来说再也没有帮助。

所以,如果有人知道如何使用它,或者如何制作类似的东西的教程,请帮助我!

2 个答案:

答案 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
}