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 相关文章推荐
如何跨站抓取别的站点的页面的补充
Oct 09 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
php写app用的框架整理
Sep 29 PHP
php+iframe 实现上传文件功能示例
Mar 04 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 PHP
PHP rsa加密解密算法原理解析
Dec 09 PHP
php中数组最简单的使用方法
Dec 27 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脚本中include文件出错解决方法
2008/11/20 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php实现socket推送技术的示例
2017/12/20 PHP
js简单抽奖代码
2015/01/16 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
Python 模拟登陆的两种实现方法
2017/08/10 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
酒店管理自荐信
2013/10/23 职场文书
党员违纪检讨书
2014/02/18 职场文书
临床护理求职信
2014/04/26 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
详解JS ES6编码规范
2021/05/07 Javascript
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android