2012-06-11 70 views

回答

0

这将允许你设置一个基本的用户。

define('IN_PHPBB', true); 
global $db; 
global $config; 
global $user; 
global $auth; 
global $cache; 
global $template; 

global $phpbb_root_path; 
global $phpEx; 

include('forums/common.php'); // THIS NEEDS TO BE CHANGED TO MATCH YOUR PHPBB3 INSTALL LOCATION; 
           // Currently, I am assuming you have this page at the root of your domain 
           // and PHPBB3 is install in the 'forums' subdirectory 

// Start session management 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup(); 

require($phpbb_root_path .'includes/functions_user.php'); 

$username = $_POST['user']; 
$password = $_POST['password'];  // Do not encrypt this password, it is handled later by an MD5 function and PHPBB3's own code 
$email = $_POST['email']; 

// You should add in a check to verify that the username is unique to your PHPBB3 install, otherwise you'll get errors 
// I left this as an exercise for you so that you can handle it how you want (reload the page, fail completely, offer suggestions, etc) 

$user_row = array(
    'username' => $username, 
    'user_password' => md5($password), 'user_email' => $email, 
    'group_id' => 2,     // This is the 'Registered Users' group. Change this as you feel is appropriate 
    'user_timezone' => '0.00',   // GMT 
    'user_dst' => 0,     // No Day Light Saving 
    'user_lang' => 'en', 
    'user_type' => '0',     // This means 'Normal User' 
    'user_actkey' => '', 
    'user_dateformat' => 'd M Y H:i', 
    'user_style' => 1, 
    'user_regdate' => time(), 
); 

$id = user_add($user_row);    // Returns the ID of the new user 

假设:

  • 这个文件是在你的域的根和论坛都在forums子目录。如果不是这种情况,我添加了注释以显示需要更改的内容
  • 没有对重复的用户名执行错误检查。假设您有一种方法来处理这个问题,或者可以适当修改这个脚本
+0

PHPBB3在创建用户时使用'salt'。这意味着具有相同密码的用户具有不同的散列值。您是否可以使用上面的代码中的新用户使用'123456789'登录您的论坛? – Andy