Tôi có một diễn đàn sử dụng phpBB. Bây giờ tôi muốn làm một cái gì đó như thế này từ mã nguồn:Làm cách nào để đăng nhập vào diễn đàn phpBB?
đăng nhập ("user", "password")
Làm thế nào để làm điều này trong phpBB?
Tôi có một diễn đàn sử dụng phpBB. Bây giờ tôi muốn làm một cái gì đó như thế này từ mã nguồn:Làm cách nào để đăng nhập vào diễn đàn phpBB?
đăng nhập ("user", "password")
Làm thế nào để làm điều này trong phpBB?
Bạn wil Tôi cần một tập lệnh tích hợp với khung phpBB. Một cái gì đó như thế này sẽ làm việc.
<?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);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>
Sau đó, nhìn vào $auth->login() chức năng (một sử dụng ví dụ là trong login_box()
chức năng trong /includes/functions.php
). Một ví dụ đơn giản nhưng đầy đủ là:
$result = $auth->login($username, $password); // There are more params but they're optional
if ($result['status'] == LOGIN_SUCCESS)
{
// Logged in
}
else
{
// Something went wrong
}
Trong kịch bản PHP của bạn đó là thu thập thông qua HTML sẽ cần phải:
Bạn có thể quan tâm trong việc sử dụng một số thư viện đã tồn tại để tạo điều kiện đó.
Ví dụ, bạn có thể có một cái nhìn tại Zend_Http_Client
(see also; phần về Sending Multiple Requests With the Same Client lẽ sẽ quan tâm bạn ;-))
Bạn cũng có thể muốn có một cái nhìn tại một số các câu hỏi/câu trả lời khác, như:
Trước tiên, bạn cần phải bootstrap cho phpBB:
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpBB/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
Bạn sẽ phải thay thế phần ./phpBB/
với đường dẫn tương đối so với diễn đàn.
Để làm cho người dùng đăng nhập, bạn phải làm:
$result = $user->session_create($user_id, $admin, $autologin, $viewonline);
$admin
có lẽ nên được false
, $autologin
và $viewonline
phụ thuộc vào những gì bạn muốn.
LƯU Ý: Gọi session_create
sẽ đặt cookie phiên cho người dùng, vì vậy hãy đảm bảo bạn chỉ gọi khi yêu cầu hiện tại thực sự phân phát người dùng đó.
Điều này không trả lời câu hỏi của OP, vì giải pháp của bạn không chấp nhận tên người dùng/mật khẩu của người dùng để đăng nhập, nhưng buộc đăng nhập của '$ user_id '. – nickb
Đủ công bằng, tôi đã đi quá xa vào chi tiết. Tôi sẽ để lại câu trả lời của tôi ở đây anyway, kể từ khi tôi đặt một số nỗ lực vào nó. Có thể giúp ai đó một ngày nào đó. – igorw
Tôi đồng ý, nó rất hữu ích nếu bạn đã có ID của họ. – nickb
Không thực sự chắc chắn về cách thực hiện điều này với phpBB? – nickb
Câu hỏi đặt ra là: "Làm thế nào để lập trình đăng nhập vào diễn đàn phpBB?". Đây là một câu trả lời chung tốt giải thích điều đó. – budwiser
@budwiser - Câu hỏi đặt ra là cách đăng nhập vào ** phpBB **, không phải cách đăng nhập vào bất kỳ ứng dụng web từ xa nào.Vì vậy, nó không thích hợp cho phpBB, đặc biệt khi có sẵn một API và câu trả lời này đang nói về việc thu thập dữ liệu HTML và xác thực từ xa. (Câu hỏi của OP nêu rõ nhu cầu về giải pháp xác thực cục bộ) – nickb