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 20 PHP
PHP设计模式 注册表模式
Feb 05 PHP
input file获得文件根目录简单实现
Apr 26 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php生成gif动画的方法
Nov 05 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
php输出文字乱码的解决方法
Oct 04 PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 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微信支付结果通知与回调策略分析
2019/01/10 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python列表推导式的使用方法
2013/11/21 Python
python中字典dict常用操作方法实例总结
2015/04/04 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python发送邮件实例分享
2017/07/28 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
python中添加模块导入路径的方法
2021/02/03 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
新闻发布会主持词
2014/03/28 职场文书
小学六一主持词开场白
2015/05/28 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL