Benpianモジュールインデックスコントローラ操作ucenterを運ぶTPインデックスを使用しました。
注意!すべての修正やコードBenpian TPプロジェクトの下で運営されている、とは何の関係もありませんDZ。
編集コントローラ
<?php
namespace app\index\controller;
include_once ROOT_PATH.'config/config_ucenter.php';
include_once ROOT_PATH.'uc_client/client.php';
class Index
{
public function register()
{
$result = 'tp的站点注册成功'; // 你本站点注册成功后再注册dz
if ($result == 'tp的站点注册成功') {
$uid = uc_user_register('username', '1', '[email protected]');
var_dump($uid);
// 大于 0:返回用户id,表示用户注册成功
// -1:用户名不合法
// -2:包含不允许注册的词语
// -3:用户名已经存在
// -4:Email 格式有误
// -5:Email 不允许注册
// -6:该 Email 已经被注册
}
}
}
アクセスhttp://localhost/tp/public/index.php/index/index/register
私は、会員登録を表す表2 idは、
オープンpre_ucenter_members
テーブル
今、あなたがログインに行くことができます。あなたのログイン成功にアクティブに完全な活性化を、聞かせするにはログインしてください。
この活性化は、別の実のメンバーシップ形で書かれているpre_common_member
あなただけのucenter登録活性化しません、。
ログインアクティベートをスキップし、tp
ルートディレクトリに設定ファイルを変更します
define('DISCUZ_DANAME', 'ultrax'); // dz数据库名
define('DISCUZ_DBRRE', 'pre_'); // dz数据包前缀
tp
ルートにコードを変更
検索add_user
方法
カバーへの
function add_user($username, $password, $email, $uid = 0, $questionid = '', $answer = '', $regip = '') {
$regip = empty($regip) ? $this->base->onlineip : $regip;
$salt = substr(uniqid(rand()), -6);
$password = md5(md5($password).$salt);
$sqladd = $uid ? "uid='".intval($uid)."'," : '';
$sqladd .= $questionid > 0 ? " secques='".$this->quescrypt($questionid, $answer)."'," : " secques='',";
$this->db->query("INSERT INTO ".UC_DBTABLEPRE."members SET $sqladd username='$username', password='$password', email='$email', regip='$regip', regdate='".$this->base->time."', salt='$salt'");
$uid = $this->db->insert_id();
$this->db->query("INSERT INTO ".UC_DBTABLEPRE."memberfields SET uid='$uid'");
$discuz_dbname = DISCUZ_DANAME;
$discuz_table_pre = DISCUZ_DBRRE;
$table_info = $discuz_dbname.'.'.$discuz_table_pre;
$this->db->query("INSERT INTO ".$table_info."common_member SET uid='$uid', username='$username', password='$password', email='$email', adminid='0', groupid='10', regdate='".$this->base->time."', credits='0', timeoffset='9999'");
$this->db->query("INSERT INTO ".$table_info."common_member_status SET uid='$uid', regip='$regip', lastip='$regip', lastvisit='".$this->base->time."', lastactivity='".$this->base->time."', lastpost='0', lastsendmail='0'");
$this->db->query("INSERT INTO ".$table_info."common_member_profile SET uid='$uid'");
$this->db->query("INSERT INTO ".$table_info."common_member_field_forum SET uid='$uid'");
$this->db->query("INSERT INTO ".$table_info."common_member_field_home SET uid='$uid'");
$this->db->query("INSERT INTO ".$table_info."common_member_count SET uid='$uid', extcredits1='0', extcredits2='0', extcredits3='0', extcredits4='0', extcredits5='0', extcredits6='0', extcredits7='0', extcredits8='0'");
return $uid;
}
登録の方法は、USERNAME2を変更したユーザ名、[email protected]にメールボックスを変更し、再実行します。戻り値は、コメントを見て、0よりも大きくない場合、何が理由です。
この時点で、お二人には、メンバーシップのフォームを見てUSERNAME2持っている、と、ログイン直接ログインUSERNAME2ゴーゴー。
メールボックスなしで時間を登録したい場合は、このコメントに数行のコードを行く
ユーザー削除するには、
追加の方法を
public function delUser()
{
$uid = uc_get_user('username');
var_dump($uid);
}
アクセスhttp://localhost/tp/public/index.php/index/index/delUser
方法には、ユーザー名を介してユーザ情報を照会している、我々は削除する次のメソッドを呼び出す前に、ユーザーのIDを取得する必要があります。インデックス0はIDです。
public function delUser()
{
$uid = uc_get_user('username4');
var_dump($uid);
$result = uc_user_delete($uid[0]);
var_dump($result);
}
戻り値と言うの復帰1成功すると、0に失敗しました。しかし、私のリターンは4ですが、実際に削除されたが、また、ログオンしていません。
pre_ucenter_members
これは、実行後に削除されますが、pre_common_member
ログインに行くときに削除されます。
公式サイトucenter、ハングアップマニュアルを見つけることができませんでしたが、幸いそこにデータの弟があるか、悪魔が最後に何が起こったのかを知っています!