<?php 

/*
* Disucz!部分功能使用说明:
*/ /********************************************************************** 用户注册 ***************************************************************************/
/* uc_user_register接口只是把用户数据验证后插入到pre_ucenter_members表中
* 所以需要手动将数据同步到pre_common_member表中
*/
if(!function_exists('uc_user_register')) { loaducenter(); }
$uid = uc_user_register($nickname,$password,$email,'你的昵称加什么?',$nickname);
if($uid > 0){
//同步用户
$uc_members = DB::fetch_all("select * from pre_ucenter_members where email = '$email' limit 1");
$uc_members = empty($uc_members[0]) ? '' : $uc_members[0];
if(!empty($uc_members)){
$com_mem_data = array('email'=>$uc_members['email'],'username'=>$uc_members['username'],'password'=>$uc_members['password'],'groupid'=>$define_group_id,'regdate'=>$uc_members['regdate'],'timeoffset'=>9999);
DB::insert('common_member',$com_mem_data);
}
}else{
if($uid == -1) {
die(json_encode(array('status'=>0,'msg'=>'用户名不合法')));
} elseif($uid == -2) {
die(json_encode(array('status'=>0,'msg'=>'包含要允许注册的词语')));
} elseif($uid == -3) {
die(json_encode(array('status'=>0,'msg'=>'用户名已经存在')));
} elseif($uid == -4) {
die(json_encode(array('status'=>0,'msg'=>'Email 格式有误')));
} elseif($uid == -5) {
die(json_encode(array('status'=>0,'msg'=>'Email 不允许注册')));
} elseif($uid == -6) {
die(json_encode(array('status'=>0,'msg'=>'该 Email 已经被注册')));
} else{
die(json_encode(array('status'=>0,'msg'=>'注册失败')));
}
} /*************************************************************** 用户登陆 ********************************************************************************/
/* 使用setloginstatus函数登陆,
* 接受两个参数,pre_common_member用户记录,和记录cookie的时间
*/
$members = DB::fetch_all("select * from pre_common_member where email = '$email' limit 1");
$member = empty($members[0]) ? '' : $members[0];
if( !empty($member) ){
//登陆成功,设置cookie,记录cookie 10年
setloginstatus($member,315360000);
die(json_encode(array('status'=>1,'msg'=>'登录成功')));
}else{
die(json_encode(array('status'=>0,'msg'=>'登录失败')));
} /**************************************************************** 生成帖子 *******************************************************************************/
/* 生成帖子流程:
* 1、从pre_forum_post_tableid获取生成帖子的tid
* 2、构造pre_forum_thread表中数据,并插入到pre_forum_thread表中。pre_forum_thread表中数据保存帖子概要信息,用于显示帖子列表
* 3、构造pre_forum_post表中数据,并插入到pre_forum_post表中。pre_forum_post表中保存帖子的详情信息。无论是帖子,还是回复都是一条独立的pre_forum_post记录
*/
$pid = C::t('forum_post_tableid')->insert(array('pid' => null), true);
$thread_data = array(
'tid'=>$pid, //主题id
'fid'=>37, //栏目id
'author'=>$post_author, //作者
'authorid'=>$uid, //作者uid,是pre_common_member表中uid
'subject'=>$title, //标题
'dateline'=>time(),
'lastpost'=>time(),
'lastposter'=>$post_author,
'status'=>32 //状态
);
if( DB::insert('forum_thread',$thread_data) ){
//帖子内容
$message = "<div>test";$message .= "</div>";
$post_data = array(
'pid'=>$pid, //帖子id
'fid'=>37, //栏目id
'tid'=>$pid, //主题id
'first'=>1, //是否第一层
'author'=>$post_author, //作者
'authorid'=>$uid, //作者uid
'subject'=>$title, //标题
'dateline'=>time(),
'message'=>htmlspecialchars($message), //内容
'useip'=>$_G['clientip'],
'port' => '',
'usesig' => 1,
'bbcodeoff' => '-1',
'smileyoff' => '-1',
'tags' => '',
'position' => 1, //楼层数
'type' => 1,
'sort_order' => 2,
'list_content' => ''
);
if( DB::insert('forum_post',$post_data) ){
//生成帖子成功
die(json_encode(array('status'=>1,'msg'=>$pid)));
}else{
die(json_encode(array('status'=>1,'msg'=>'生成帖子失败')));
}
}else{
die(json_encode(array('status'=>-1,'msg'=>'生成帖子失败')));
}
?>

Discuz!用户注册,登陆,生成帖子功能实现的更多相关文章

  1. php实现微信扫码自动登陆与注册功能

    本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...

  2. 微信小程序_(校园视)开发用户注册登陆

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  3. java 用户注册登陆Demo

    一个用户注册登陆的系统,用到了MD5加密处理密码,实现了一个简单的数据库连接池connectionPool, 实现了注册,登陆,登陆之后修改用户信息等功能,非常适合初学者 一.准备工作 数据库:MyS ...

  4. bugzilla4的xmlrpc接口api调用实现分享: xmlrpc + https + cookies + httpclient +bugzilla + java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能

    xmlrpc .  https . cookies . httpclient.bugzilla . java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能,网上针对bugzilla的实现很 ...

  5. Visual Assist 生成注释功能

    在Visual Studio环境中编码,Visual Assist是不可缺少的好工具.这工具功能非常强大,以前仅仅用到了代码提示,今天学习了生成注释功能,非常爽. 在代码编辑器中点击右键弹出菜单,在“ ...

  6. Android高级控件(三)—— 使用Google ZXing实现二维码的扫描和生成相关功能体系

    Android高级控件(三)-- 使用Google ZXing实现二维码的扫描和生成相关功能体系 摘要 现在的二维码可谓是烂大街了,到处都是二维码,什么都是二维码,扫一扫似乎已经流行到习以为常了,今天 ...

  7. JEECG--去掉(增加)登陆页面验证码功能 - CSDN博客

    JEECG--去掉(增加)登陆页面验证码功能 - CSDN博客https://blog.csdn.net/KooKing_L/article/details/79711379

  8. Android高级控件(三)——&#160;使用Google ZXing实现二维码的扫描和生成相关功能体系

    Android高级控件(三)-- 使用Google ZXing实现二维码的扫描和生成相关功能体系 摘要 如今的二维码可谓是烂大街了.到处都是二维码.什么都是二维码,扫一扫似乎已经流行到习以为常了,今天 ...

  9. [PHP自动化-进阶]004.Snoopy VS CURL 模拟Discuz.net登陆

    引言:采集论坛第一步就是要模拟登陆,由于各个站点登录表单各不相同,验证方式又是多种多样,所以直接提交用户名密码到登录页面就比较繁琐. 所以我们采用cookie来模拟登陆无疑是最佳捷径. 今天我们要处理 ...

随机推荐

  1. Java编程中“为了性能”需做的26件事

    1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: (1)控制资源的使用,通过线程同步来控制 ...

  2. 开放数据库互联ODBC配置(odbcconf)

    开放数据库互连(ODBC)是微软引进的一种早期数据库接口技术,通过ODBC驱动程序可访问数据库数据:使用ODBC管理器可以完成对数据库的链接操作.笔者利用ODBC接口,将WINDOWS计数器信息写入到 ...

  3. 【WIN10】绑定x:Bind

    在WP8.WP8中,我们知道有一个绑定{Binding},而在Win10中,新增了一个绑定{x:Bind} x:Bind :为编译时绑定 ,内存.内存相对于传统绑定都有优化 特性: 1.为强类型    ...

  4. poj 1695

    用动态规划,dp[a][b][c]表示从位置最大的车在a(注意不是第一辆车),第二的车在b,第三的车在c开始最少需要的时间. 方程:dp[a][b][c]=max{dp[a+1][b][c],     ...

  5. 四种浏览器对 clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和 scrollWidth 的解释差异

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...

  6. word20161207

    DHCPRELEASE, DHCP release message / DHCP 释放消息 DHCPREQUEST, DHCP request message / DHCP 请求消息 dial 拨号位 ...

  7. NOIp2014 解题报告

    有史以来第一届面向社会征题的NOIp结束了.最开始以为面向社会征题会很难,但是这是我参加的最水的一次NOIp了. 由于停了两月的课,所以现在正在补文化科目就没时间打代码了.所以所有的题目就均不给出代码 ...

  8. python的一道面试题 __call__ 的使用.

    class Person: def __init__(self): self.age = 1 def __call__(self, *args, **kwargs): print 'age', sel ...

  9. Python~切片Slice

          [:] [:10] [-10:]       [':10:2]                                  

  10. 安装Yeoman,遇到的问题

    在安装Yeoman遇到了一些报错,具体的步骤就不多说了,直接上码,具体的两处报错的地方. 第一个,创建webapp,直接报权限的错误,这时才留意到在它之前还有一个错误. [root@iZ289zd8c ...