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中看实例学正则表达式
Dec 25 PHP
基于empty函数的输出详解
Jun 17 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
PHP四种基本排序算法示例
Apr 09 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
开启PHP的伪静态模式
Dec 31 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
YII2 实现多语言配置的方法分享
Jan 11 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 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
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
js 函数性能比较方法
2020/08/24 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
在Python中移动目录结构的方法
2016/01/31 Python
python基本语法练习实例
2017/09/19 Python
解决python3爬虫无法显示中文的问题
2018/04/12 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python matplotlib实时画图案例
2020/04/23 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
学生拾金不昧表扬信
2014/01/21 职场文书
广告创意求职信
2014/03/17 职场文书
核心价值观演讲稿
2014/05/13 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android
mysql sock文件存储了什么信息
2022/07/15 MySQL