幸いなことに、ユーザーは簡単な方法でフォーラムと同期できます。パスポート インターフェイスは必要ありません。
これは参考のためにまとめたものです。
ログインするには
コードをコピー コードは次のとおりです。
session_start();
define ('NOROBOT', TRUE);
define('CURSCRIPT', 'logging');
require_once './include/common.inc.php';
require_once DISCUZ_ROOT. /include/misc .func.php';
if($action == 'ログイン') {
$field = $loginfield == 'uid' : 'ユーザー名'; /get セキュア コード チェック ステータス (pos. -2)
$seccodecheck = substr(sprintf(' b', $seccodestatus), -2, 1);
if($seccodecheck && $seccodedata['loginfailedcount' ]) {
$seccodecheck = $db->result($db->query("SELECT count(*) FROM {$tablepre}failedlogins WHERE ip='$onlineip' AND count>'='$seccodedata[ loginfailedcount]' AND $timestamp-lastupdate<=900"), 0);
}
$discuz_uid = 0;
$discuz_user = $discuz_pw = $discuz_secques = $md5_password = '';
$member = array();
$loginperm = logincheck();
if(!$loginperm) {
showmessage('login_strike');
$secques = quescrypt($)質問 ID, $ 回答);
if(isset($loginauth)) {
$フィールド = 'ユーザー名';
$パスワード = '検証済み';
リスト($ユーザー名, $md5_パスワード) = dddslashes(explode ("t", authcode($loginauth, 'DECODE')), 1);
} else {
$md5_password = md5($password); ^(. {".round(strlen($password) / 4)."})(. ?)(.{".round(strlen($password) / 6)."})$/s", "\ 1** *\3", $password);
}
$query = $db->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m .secques AS discuz_secques、
m.adminid、m.groupid、m.styleid AS styleidmem、m.lastvisit、m.lastpost、u.allowinvisible
FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING ( groupid)
WHERE m.$field='$username'");
$member = $db->fetch_array($query);
//ログインが正しいか判断します
if($ member['password']!=$md5_password){
echo "入力したユーザー名またはパスワードが間違っています!"
exit();
//実行次のプログラムが渡された場合、
extract($member);
$discuz_userss = $discuz_user;
if(($allowinvisible && $loginmode == 'invisible) ') || $loginmode == 'normal') {
$db->query("UPDATE {$tablepre}members SET hidden='".($loginmode == 'invisible' ? 1 : 0). "' WHERE uid= '$member[discuz_uid]'", 'UNBUFFERED');
}
$styleid = intval(empty($_POST['styleid']) ? ($styleidmem ? $styleidmem :
$_DCACHE[ 'settings']['styleid']) : $_POST['styleid']);
$cookietime = intval(isset($_POST['cookietime']) ? $_POST['cookietime' ] :
($_DCOOKIE['cookietime'] ? $_DCOOKIE['cookietime'] : 0));
dsetcookie('cookietime', $cookietime, 31536000);
dsetcookie('auth', authcode("$discuz_pwt $discuz_secquest$discuz_uid", 'ENCODE'), $cookietime);
$sessionexists = 0;
updatesession();//フォーラム USERPASS データを更新します
echo "{'action' :'ture'} ";//出力したいデータは次のとおりです
print_r($_DSESSION);
echo $discuz_userss;
}
?>