PHPwind整合最土系统用户同步登录实现方法


Posted in PHP onDecember 08, 2010

上次成功升级了最土商业版,接下来就是整合公司的社区网站,先说明一下我现在工作的地方是个地方社区网站,用的基础程序是PHPWind,我的任务就是让PHPWind和最土登录同步,领导也知道我的技术能力有限,不怎么高要求,所以让我先实现,再考虑其他。赶鸭子上架,开工了。
在我未成熟的程序思考能力下,我首先否定了重写程序这个方法,再次否定了将PHPWind的验证方法引入到最土的方法,最后想出一个折中的办法,将两张表的唯一ID相同:将PHPWind用户表设为主表,最土用户表为外接表,让最土用户ID和PHPWind用户表UID一一对应,通过用户ID来完成接下来的同步工作。
多话不说,上步骤。
第一步:用户同步
新建PHPWind用户,最土同步相应用户,最土ID对应PHPWind用户ID。
register.php

$db->update("insert into tg_user (id,email,username,password,city_id,create_time,enable,realname) values ('".$winduid."','".addslashes($regemail)."','".addslashes($regname)."','".$windpwd."','1','".time()."','Y','".addslashes($regname)."')");

第二步:修改最土登录模式使用Cookie方式
去掉密码,将验证用户名改成用户ID。
ZUser.class.php
$field = strpos($email, '@') ? 'email' : 'id';//username 
$zuituuser = DB::GetTableRow('tg_user', array( 
$field => $email, 
//'password' => $password,

index.php
$login_user = ZUser::GetLogin($_COOKIE['CookieID'], $_POST['password']); 
Session::Set('user_id', $login_user['id']); 
ZLogin::Remember($login_user); 
ZUser::SynLogin($_POST['email'], $_POST['password']);

第三步:登录PHPWind将用户ID写入Cookie值,退出PHPWind将用户ID从Cookie值里清除
login.php/register.php
写入Cookie
setCookie("CookieID", $Winduid);
清除Cookie
setcookie("CookieID", "", time() - 3600);
第四步:修改最土页面连接
header.html
<ul class="links"> 
<li class="username">欢迎您,{$login_user['username']}!</li> 
<li class="account"><a href="/order/index.php" id="myaccount" class="account">我的{$INI['system']['abbreviation']}</a></li> 
<li class="logout"><a href="http://www.cnblogs.com/../login.php?action=quit&verify={$_COOKIE['SetOut']}">退出</a></li> 
</ul> 
<!--{else}--> 
<ul class="links"> 
<li class="login"><a href="/../login.php">登录</a></li> 
<li class="signup"><a href="/../register.php">注册</a></li> 
</ul>

同步登录成功,所有的登录和退出全部在PHPWind内进行,而最土只负责接受传递是否是空值来确认是否登录。
PHP 相关文章推荐
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
php对数组排序代码分享
Feb 24 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
php上传文件常见问题总结
Feb 03 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
PHP异常处理Exception类
Dec 11 PHP
php中this关键字用法分析
Dec 07 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
一个实用的php验证码类
Jul 06 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 PHP
php iconv() : Detected an illegal character in input string
Dec 05 #PHP
php printf输出格式使用说明
Dec 05 #PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 #PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 #PHP
php 学习资料零碎东西
Dec 04 #PHP
PHP访问MYSQL数据库封装类(附函数说明)
Dec 04 #PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 #PHP
You might like
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
客户端静态页面玩分页
2006/06/26 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
python fabric实现远程操作和部署示例
2014/03/25 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
家长评语大全
2014/01/22 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
音乐教学案例
2014/01/30 职场文书
作文批改评语大全
2014/04/23 职场文书
关于读书的演讲稿
2014/05/07 职场文书
目标责任书格式范文
2015/05/11 职场文书