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 strtotime 函数UNIX时间戳
Jan 14 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
PHP代码审核的详细介绍
Jun 13 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
基于php判断客户端类型
Oct 14 PHP
php中的抽象方法和抽象类
Feb 14 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
python不带重复的全排列代码
2013/08/13 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
python使用matplotlib绘制热图
2018/11/07 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
python如何停止递归
2020/09/09 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
美容院考勤制度
2014/01/30 职场文书
自主招生自荐信指南
2014/02/04 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
罚站检讨书
2015/01/29 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
golang interface判断为空nil的实现代码
2021/04/24 Golang
PHP实现rar解压读取扩展包小结
2021/06/03 PHP