整合会员资料到phpbb论坛, 实现同步登入登出功能
2009-08-26 17:27
549 查看
論壇會員整合
使用方法: 使用GET 或者 POST 方式傳送資料給 phpbbs.php頁面 并傳遞相關參數信息 .
注意: phpbbs.php文件中 , define('ROOT_PATH', "./phpbb/"); 論壇路徑 "./phpbb/" 是相對于調用當前這個文件 .此設置當前文件是在論壇目錄的上層. 做相應的更改.
一. @功能: 根據會員的信息,將該帳號登入論壇 .
1. 傳送參數: action=login 表示登入的動作. 傳入: 帳號 和密碼 ,密碼為原始密碼
2. 規格例子 : http://localhost:8088/phpbbs.php?action=login&username=zxwo0o&user_password=da789954
二, @功能: 同步將已登入論壇中的帳號登出論壇
1. 傳送參數: action= logout 無需其他參數
2. 規格例子 : http://localhost:8088/phpbbs.php?action=logout
三. @功能: 同步更新論壇中的密碼, 即當會員更改密碼成功之後調用.
1. 傳送參數: action=update_pw . 傳入: 帳號 和密碼 ,密碼為原始密碼
2. 規格例子 : http://localhost:8088/phpbbs.php?action=update_pw&username=zxwo0o&user_password=789954
四. @功能: 添加新用戶到論壇資料庫 . 即註冊了一個會員到論壇.
1. 傳送參數: action=insert_user . 傳入: 帳號 和密碼 ,密碼為原始密碼 . 註冊時間為 當前 Unix 時間戳 . 郵箱 email
2. 規格例子 : http://localhost:8088/together.php?action=insert_user&username=zxw&user_password=da789954&user_regdate=1562345051&user_email=zxxw@hotmail.com
五. @功能: 添加新用戶到論壇資料庫 . 並且登入論壇
1. 傳送參數: action=insert_login . 傳入: 帳號 和密碼 ,密碼為原始密碼 . 註冊時間為 當前 Unix 時間戳 . 郵箱 email
2. 規格例子 : http://localhost:8088/together.php?action=insert_login&username=zxw&user_password=da789954&user_regdate=1562345051&user_email=zxxw@hotmail.com
具体代码如下:
使用方法: 使用GET 或者 POST 方式傳送資料給 phpbbs.php頁面 并傳遞相關參數信息 .
注意: phpbbs.php文件中 , define('ROOT_PATH', "./phpbb/"); 論壇路徑 "./phpbb/" 是相對于調用當前這個文件 .此設置當前文件是在論壇目錄的上層. 做相應的更改.
一. @功能: 根據會員的信息,將該帳號登入論壇 .
1. 傳送參數: action=login 表示登入的動作. 傳入: 帳號 和密碼 ,密碼為原始密碼
2. 規格例子 : http://localhost:8088/phpbbs.php?action=login&username=zxwo0o&user_password=da789954
二, @功能: 同步將已登入論壇中的帳號登出論壇
1. 傳送參數: action= logout 無需其他參數
2. 規格例子 : http://localhost:8088/phpbbs.php?action=logout
三. @功能: 同步更新論壇中的密碼, 即當會員更改密碼成功之後調用.
1. 傳送參數: action=update_pw . 傳入: 帳號 和密碼 ,密碼為原始密碼
2. 規格例子 : http://localhost:8088/phpbbs.php?action=update_pw&username=zxwo0o&user_password=789954
四. @功能: 添加新用戶到論壇資料庫 . 即註冊了一個會員到論壇.
1. 傳送參數: action=insert_user . 傳入: 帳號 和密碼 ,密碼為原始密碼 . 註冊時間為 當前 Unix 時間戳 . 郵箱 email
2. 規格例子 : http://localhost:8088/together.php?action=insert_user&username=zxw&user_password=da789954&user_regdate=1562345051&user_email=zxxw@hotmail.com
五. @功能: 添加新用戶到論壇資料庫 . 並且登入論壇
1. 傳送參數: action=insert_login . 傳入: 帳號 和密碼 ,密碼為原始密碼 . 註冊時間為 當前 Unix 時間戳 . 郵箱 email
2. 規格例子 : http://localhost:8088/together.php?action=insert_login&username=zxw&user_password=da789954&user_regdate=1562345051&user_email=zxxw@hotmail.com
具体代码如下:
<?php /** * phpbb論壇 安裝需求 MySQL 3.23+/4.0+/4.1+/5.0+ PHP要求的最低版本 4.3.3 調用時注意 因為裏面有用類對象變量 $user $db 所以不要與這幾個變量重名 */ define('IN_PHPBB', true); define('ROOT_PATH', "./phpbb/"); //設置論壇的路徑 即相對調用當前這個文件的路徑=====此處需要修改. if (!defined('IN_PHPBB') || !defined('ROOT_PATH')) { exit(); } $phpEx = "php"; $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : ROOT_PATH . '/'; require($phpbb_root_path . 'common.' . $phpEx); if (isset($_REQUEST['action'])) { switch ($_REQUEST['action']) { case 'login': //用戶登入論壇 if (!isset($_REQUEST['user_password']) || !isset($_REQUEST['username'])) { echo "USERINFO_MISSING_login_phpbb!"; break; } $users['user_password'] = $_REQUEST['user_password']; $users['username'] = $_REQUEST['username']; echo "<br>".$users['username']." ".$users['user_password']; $user->session_begin(); //啟動 session $auth->acl($user->data); //加載用戶權限 Init permissions $auth->login($users['username'], $users['user_password'], false, 1, 0); //將該帳號登入論壇 break; case 'insert_user': if (!isset($_REQUEST['username']) || !isset($_REQUEST['user_password']) || !isset($_REQUEST['user_regdate']) || !isset($_REQUEST['user_email']) ) { echo "USERINFO_MISSING_insert_user_phpbb!"; break; } $users['user_password'] = $_REQUEST['user_password']; //密碼 $users['username'] = $_REQUEST['username']; //帳號 $users['user_regdate'] = $_REQUEST['user_regdate']; //註冊時間 $users['user_email'] = $_REQUEST['user_email']; //email $sql = "SELECT user_id FROM ".$table_prefix."users WHERE user_id > '0' ORDER BY user_id DESC LIMIT 1"; $result = $db->sql_query($sql); $row = mysql_fetch_array($result); $row['user_id'] = $row['user_id']+1; //取得當前要加入的 正確 ID $userspw = phpbb_hash($users['user_password']); //將原密碼進行 hash 運算加密 因為phpbb 用的是這種加密方式.否則登入后無法匹配 $sql = "INSERT INTO ".$table_prefix."users (`user_id`, `user_type`, `group_id`, `user_permissions`, `user_perm_from`, `user_ip`, `user_regdate`, `username`, `username_clean`, `user_password`, `user_passchg`, `user_pass_convert`, `user_email`, `user_email_hash`, `user_birthday`, `user_lastvisit`, `user_lastmark`, `user_lastpost_time`, `user_lastpage`, `user_last_confirm_key`, `user_last_search`, `user_warnings`, `user_last_warning`, `user_login_attempts`, `user_inactive_reason`, `user_inactive_time`, `user_posts`, `user_lang`, `user_timezone`, `user_dst`, `user_dateformat`, `user_style`, `user_rank`, `user_colour`, `user_new_privmsg`, `user_unread_privmsg`, `user_last_privmsg`, `user_message_rules`, `user_full_folder`, `user_emailtime`, `user_topic_show_days`, `user_topic_sortby_type`, `user_topic_sortby_dir`, `user_post_show_days`, `user_post_sortby_type`, `user_post_sortby_dir`, `user_notify`, `user_notify_pm`, `user_notify_type`, `user_allow_pm`, `user_allow_viewonline`, `user_allow_viewemail`, `user_allow_massemail`, `user_options`, `user_avatar`, `user_avatar_type`, `user_avatar_width`, `user_avatar_height`, `user_sig`, `user_sig_bbcode_uid`, `user_sig_bbcode_bitfield`, `user_from`, `user_icq`, `user_aim`, `user_yim`, `user_msnm`, `user_jabber`, `user_website`, `user_occ`, `user_interests`, `user_actkey`, `user_newpasswd`, `user_form_salt`) VALUES ('".$row['user_id']."', '0', '2', '', '0', '', '".$users['user_regdate']."', '".$users['username']."', '".$users['username']."', '".$userspw."', '0', '0', '".$users['user_email']."', '0', '', '0', '0', '0', '', '', '0', '0', '0', '0', '0', '0', '0', 'zh_cmn_hant', '8.00', '0', 'Y-m-d G:i', '0', '0', '', '0', '0', '0', '0', '-3', '0', '0', 't', 'd', '0', 't', 'a', '0', '1', '0', '1', '1', '1', '1', '895', '', '0', '0', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')"; $db->sql_query($sql); // 插入 .user 表里的各個字段數據 $sql = "INSERT INTO ".$table_prefix."user_group(`group_id`, `user_id`, `group_leader`, `user_pending`) VALUES ('2', '".$row['user_id']."', '0', '0')"; $db->sql_query($sql); // 插入 .user_group 表里的各個字段數據 break; case 'insert_login': if (!isset($_REQUEST['username']) || !isset($_REQUEST['user_password']) || !isset($_REQUEST['user_regdate']) || !isset($_REQUEST['user_email']) ) { echo "USERINFO_MISSING_insert_And_login_phpbb!"; break; } $users['user_password'] = $_REQUEST['user_password']; //密碼 $users['username'] = $_REQUEST['username']; //帳號 $users['user_regdate'] = $_REQUEST['user_regdate']; //註冊時間 $users['user_email'] = $_REQUEST['user_email']; //email $sql = "SELECT user_id FROM ".$table_prefix."users WHERE user_id > '0' ORDER BY user_id DESC LIMIT 1"; $result = $db->sql_query($sql); $row = mysql_fetch_array($result); $row['user_id'] = $row['user_id']+1; //取得當前要加入的 正確 ID $userspw = phpbb_hash($users['user_password']); //將原密碼進行 hash 運算加密 因為phpbb 用的是這種加密方式.否則登入后無法匹配 $sql = "INSERT INTO ".$table_prefix."users (`user_id`, `user_type`, `group_id`, `user_permissions`, `user_perm_from`, `user_ip`, `user_regdate`, `username`, `username_clean`, `user_password`, `user_passchg`, `user_pass_convert`, `user_email`, `user_email_hash`, `user_birthday`, `user_lastvisit`, `user_lastmark`, `user_lastpost_time`, `user_lastpage`, `user_last_confirm_key`, `user_last_search`, `user_warnings`, `user_last_warning`, `user_login_attempts`, `user_inactive_reason`, `user_inactive_time`, `user_posts`, `user_lang`, `user_timezone`, `user_dst`, `user_dateformat`, `user_style`, `user_rank`, `user_colour`, `user_new_privmsg`, `user_unread_privmsg`, `user_last_privmsg`, `user_message_rules`, `user_full_folder`, `user_emailtime`, `user_topic_show_days`, `user_topic_sortby_type`, `user_topic_sortby_dir`, `user_post_show_days`, `user_post_sortby_type`, `user_post_sortby_dir`, `user_notify`, `user_notify_pm`, `user_notify_type`, `user_allow_pm`, `user_allow_viewonline`, `user_allow_viewemail`, `user_allow_massemail`, `user_options`, `user_avatar`, `user_avatar_type`, `user_avatar_width`, `user_avatar_height`, `user_sig`, `user_sig_bbcode_uid`, `user_sig_bbcode_bitfield`, `user_from`, `user_icq`, `user_aim`, `user_yim`, `user_msnm`, `user_jabber`, `user_website`, `user_occ`, `user_interests`, `user_actkey`, `user_newpasswd`, `user_form_salt`) VALUES ('".$row['user_id']."', '0', '2', '', '0', '', '".$users['user_regdate']."', '".$users['username']."', '".$users['username']."', '".$userspw."', '0', '0', '".$users['user_email']."', '0', '', '0', '0', '0', '', '', '0', '0', '0', '0', '0', '0', '0', 'zh_cmn_hant', '8.00', '0', 'Y-m-d G:i', '0', '0', '', '0', '0', '0', '0', '-3', '0', '0', 't', 'd', '0', 't', 'a', '0', '1', '0', '1', '1', '1', '1', '895', '', '0', '0', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')"; $db->sql_query($sql); // 插入 .user 表里的各個字段數據 $sql = "INSERT INTO ".$table_prefix."user_group(`group_id`, `user_id`, `group_leader`, `user_pending`) VALUES ('2', '".$row['user_id']."', '0', '0')"; $db->sql_query($sql); // 插入 .user_group 表里的各個字段數據 // 執行登入動作 $user->session_begin(); //啟動 session $auth->acl($user->data); //加載用戶權限 Init permissions $auth->login($users['username'], $users['user_password'], false, 1, 0); //將該帳號登入論壇 break; case 'logout': $user->session_kill(); //登出語句1 結束會話 $user->session_begin(); //登出語句2 開啟新的會話 break; case 'update_pw': //更新用戶密碼 if (!isset($_REQUEST['username']) || !isset($_REQUEST['user_password'])) { echo "USERINFO_MISSING_update_pw_phpbb!"; break; } $users['user_password'] = $_REQUEST['user_password']; //密碼 $users['username'] = $_REQUEST['username']; //帳號 $users['user_password'] = phpbb_hash($users['user_password']); //將修改后的密碼進行 hash 運算加密 因為phpbb 用的是這種加密方式.否則登入后無法匹配 $sql = "UPDATE ".$table_prefix."users SET `user_password` = '".$users['user_password']."' WHERE `username` ='".$users['username']."' LIMIT 1 ;"; $db->sql_query($sql); // 更新 .user 表里的密碼字段數據 break; default: echo "ERROR_PARAMETER"; } } ?>
相关文章推荐
- dede整合discuz后完美实现双向同步登入登出解决方案
- Ucenter实现同步登入和登出
- java整合discuz小结(实现与论坛同步登录等操作)
- 完美整合phpcms v9和discuz X3.1实现同步登陆退出论坛免激活
- ecshop整合UCenter,discuz,实现会员同步登录 不需要二次登陆
- 网站会员整合ucenter 实现多站点同步登录方法(转)
- 网站与论坛在会员注册,登陆,退出,会员资料修改上的同步【转】
- 网站与discuz的论坛进行整合,实现用户同步注册,单点登陆,同步删除用户,同步修改用户密码
- DZ X3 和 ECshop 通过uc_server实现会员同步整合教程.
- 网站论坛同步用户,整合api,实现…
- 网站会员整合ucenter 实现多站点同步登录方法
- phpcms和discuz整合论坛实现同步注册登陆退出论坛,所以问题都已经测试了,全部OK!
- 网站会员整合ucenter 实现多站点同步登录方法
- Asp.Net站点整合Discuz论坛实现同步注册和单点登录
- Asp.Net站点整合Discuz论坛实现同步注册和单点登录
- 网站论坛同步用户,整合api,实现…
- Spring Boot整合Spring Security简单实现登入登出从零搭建教程
- 完美整合phpcms v9和discuz X3.1实现同步登陆退出论坛免激活
- 网站会员整合ucenter 实现多站点同步登录方法
- PHPBB3跟网站结合,实现登入网站同时登入论坛