2012-06-11 71 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