ホームページ  >  記事  >  バックエンド開発  >  discuz の二次開発で遭遇した小さな疑問

discuz の二次開発で遭遇した小さな疑問

WBOY
WBOYオリジナル
2016-06-13 13:01:18915ブラウズ

discuz の二次開発中に小さな問題が発生しました。
discuz にユーザーを登録するときに別のフィールドを追加したいのですが、現在の問題は、discuz で insert ステートメントが見つからないことです。誰かヒーローが私にアドバイスをくれませんか?
------解決策---------
register.php

register.php 内のステートメントが変更されています。
uc_user_register 関数の後にある必要があります。

しかしDZはバックグラウンドでカスタム登録項目を追加できるようです。
------解決策---------
$username = isset($_G['gp_username ' ]) ? $_G['gp_username'] : '';

$bbrulehash = $bbrules ? substr(md5(FORMHASH), 0, 8) : '';
$auth = $_G['gp_auth'];

$invite = getinvite();
if($_G['setting']['regstatus'] == 2 && empty($invite)) {
showmessage('not_open_registration_invite');
}

require_once libfile('関数/プロファイル');

if(!submitcheck('regsubmit', 0, $seccodecheck, $secqaacheck)) {

if($_G['gp_action'] == 'アクティブ化') {
$auth =explode("t", authcode($auth, 'DECODE'));
if(FORMHASH != $auth[1]) {
showmessage('register_activation_invalid', 'member.php?mod=logging&action=login');
}
$username = $auth[0];
$activationauth = authcode("$auth[0]t".FORMHASH, 'ENCODE');
}

$_G['referer'] = isset($_G['referer']) ? dhtmlspecialchars($_G['referer']) : dreferer();

$fromuser = !empty($fromuser) ? dhtmlspecialchars($fromuser) : '';
if($fromuid) {
$query = DB::query("SELECT username FROM ".DB::table('common_member')." WHERE uid='$fromuid'");
if(DB::num_rows($query)) {
$fromuser = dhtmlspecialchars(DB::result($query, 0));
} else {
dsetcookie('プロモーション');
}
}

$bbrulestxt = nl2br("n$bbrulestxtnn");
if($_G['gp_action'] == 'アクティブ化') {
$auth = dhtmlspecialchars($auth);
}

if($seccodecheck) {
$seccode = ランダム(6, 1);
}
if($_G['設定']['secqaa']['ステータス'][1]) {
$seccode = ランダム(1, 1) * 1000000 + substr($seccode, -6);
}

$username = dhtmlspecialchars($username);

$htmls = $settings = array();
foreach($_G['cache']['fields_required'] as $field) {
$fieldid = $field['fieldid'];
$html = profile_setting($fieldid);
if($html) {
$settings[$fieldid] = $_G['cache']['profilesetting'][$fieldid];
$htmls[$fieldid] = $html;
}
}
include template('メンバー/登録');

} else {

if($bbrules && $bbrulehash != $_POST['agreebbrule']) {
showmessage('register_rules_agree');
}

$activation = array();
if(isset($_G['gp_activationauth'])) {
$activationauth =explode("t", authcode($_G['gp_activationauth'], 'DECODE'));
if($activationauth[1] == FORMHASH && !($activation = kiddslashes(uc_get_user($activationauth[0]), 1))) {
showmessage('register_activation_invalid', 'member.php?mod=logging&action=login');
}
}

if(!$activation) {
$username = addedlashes(trim(dstripslashes($username)));
if(uc_get_user($username) && !DB::result_first("SELECT uid FROM ".DB::table('common_member')." WHERE username='$username'")) {
if($_G['inajax']) {
showmessage('profile_username_duplicate');
} else {

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。