Как сделать регистрационную форму для phpbb - PullRequest
1 голос
/ 24 июня 2011

Мне было интересно, может ли кто-нибудь помочь мне сделать регистрационную форму для phpbb. Мне это нужно для веб-сайта, которым я занимаюсь, и клиент не хотел бы иметь 2 разных аккаунта для одного и того же человека.

Итак, я посмотрел на это и нашел функцию add_user(), но я понятия не имею, как ее использовать. Я также спросил на форумах phpbb, и все, что они сделали, это указали мне на вики-страницу для функции, которая снова мне совсем не помогла.

Так что, если кто-нибудь знает что-нибудь о том, как использовать это, или учебник о том, как сделать что-то подобное, помогите мне!

Ответы [ 2 ]

4 голосов
/ 24 июня 2011

Используйте это так

<?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);
0 голосов
/ 16 декабря 2013

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
}    
...