网站与phpwind用户同步的方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-04-03 15:00:35 浏览: 评论:0
搭建了一个个人网站,希望使用phpwind来完成论坛功能.但很快就发现存在用户同步的问题,我的网站已经有了用户管理功能, phpwind论坛也有.因此用户同步注册,登陆和注销是必须要实现的. 网上说可以使用ucenter,但没有找到相关资料。倒是找到了一些手动实现同步登录的资料.
不过这些写的都不太全面,或者有些问题.我来总结一下好了.
首先确认要同步的版本是phpwind8.7.这个phpwind目前支持下载的两大版本之一,还有一个是9,不过貌似变化比较大。8.7版本目前也是阿里云虚拟主机一键安装lamp缺省提供的论坛版本。
首先是实现用户注册的同步:
1)先把phpwind解压到http服务器某个目录下,我的是放到了网站的一个phpwind子目录下,启动install.php安装。
2)在完成自身网站用户注册的代码后面,增加如下代码即可:
- require_once '../phpwind/global.php';
- require_once(R_P.'require/checkpass.php');
- $registerinfo->mail=email;
- $registerinfo->nickname=username;
- $registerinfo->uid=userid;
- $this->registeInphpWind($registerinfo);
- //-------------------------------------------------
- registeInphpWind函数的实现如下:
- protected function registeInphpWind(stdClass $registerinfo)
- {
- $ret=new Ret();
- //pw = phpwind 的安装前缀
- //判断pw中是否有该会员数据
- $sql_valid = "select uid from phpwinddb.pw_members where username = '$registerinfo->nickname'";
- if (!$result=mysql_query($sql_valid))
- {
- error_log(mysql_error());
- $ret->errorcode=Error_DB_Query;
- return $ret;
- }
- $row = mysql_fetch_object($result);
- mysql_free_result($result);
- if(!$row)
- {
- //插入该会员数据到phpwind的pw_members表
- $sql = "insert into phpwinddb.pw_members(uid,username,password,email,groupid,memberid,icon,gender,regdate,signature,introduce,location,bday,yz,aliww,banpm) values ($registerinfo->uid,'$registerinfo->nickname','$registerinfo->password','$registerinfo->mail',-1,8,'',0,'".time()."','','','','".date("Y-m-d",time())."',1,'','')";
- mysql_query($sql);
- //插入数据到phpwind的pw_memberdata表
- mysql_query("INSERT INTO phpwinddb.pw_memberdata (uid,postnum,rvrc,money,lastvisit,thisvisit,onlineip) VALUES ($registerinfo->uid, '0', '0', '0', '" . time() . "', '" . time() . "', '')");
- mysql_query("UPDATE phpwinddb.pw_bbsinfo SET newmember='$registerinfo->nickname',totalmember=totalmember+1 WHERE id='1'");
- }
- $plinfo=new stdClass();
- $plinfo->username=$registerinfo->nickname;
- $plinfo->password=$registerinfo->password;
- $this->loginPHPWind($plinfo);
- }
以上最后一部分是实现用户登录,下面看看用户同步登录的实现,phpwind用户同步登录:
- protected function loginPHPWind(stdClass $plinfo)
- {
- //与phpwind登陆同步,原理:共用cookie
- $pwuser=$plinfo->username;
- $md5_pwpwd=$plinfo->password;
- $safecv=questcode('-1','1','1');
- $logininfo = checkpass($pwuser, $md5_pwpwd, $safecv, $lgt, true);
- list($winduid, $groupid, $windpwd, $showmsginfo) = $logininfo;
- $param2=StrCode($winduid."\t".$windpwd."\t".'');
- Cookie("winduser",$param2);
- Cookie("ck_info",$db_ckpath."\t".$db_ckdomain);
- Cookie('lastvisit','',0);//将$lastvist清空以将刚注册的会员加入今日到访会员中
- }
3)同步登出,退出登录
这个超级简单,就一句话:Loginout();这个函数在checkpass.php里面,所以把这个文件包含进来就可以调用了,下一步是修改phpwind,实现自身网站的同步注册,登录和登出,目前我只实现了同步注册,弄好其他的再一起再发上来.
Tags: phpwind 用户 同步网站
相关文章
- ·wamp本地安装phpwind问题:‘RewriteEngine’(2013-11-15)
- ·以phpwind为例分享nofollow的使用方法(2013-11-15)
- ·win03+IIS安装phpwind9.0时提示pdo_mysql未安装(2013-11-15)
- ·jsp网站到phpwind论坛的同步登陆登出实现(2013-11-15)
- ·win2003+iis服务器phpwind网址伪静态处理方法(2013-11-15)
- ·关于选择phpwind和Discuz程序做论坛的一点个人看法(2013-11-15)
- ·jsp网站到phpwind论坛的同步登陆登出实现(2014-01-10)
- ·phpwind如何在门户上增加论坛统计信息(2014-01-10)
- ·win2003+iis服务器phpwind网址伪静态处理方法(2014-01-10)
- ·PHPwind论坛怎么设置伪静态 (2014-01-10)
- ·做论坛用phpwind好还是Discuz好?(2014-01-10)
- ·教你如何成功通过修改数据库实现更换phpwind的APP账号(2014-01-10)
- ·phpwind 9.0解决QQ登陆,新浪微博登陆乱码(2014-04-03)
- ·ixwebhosting空间下phpwind 伪静态设置(2014-04-10)
- ·PHPwind论坛怎样实现301跳转(2014-04-10)
- ·解决phpwind安装出现403Forbidden问题(2014-04-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)