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实现小型站点广告管理
Oct 09 PHP
改进的IP计数器
Oct 09 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
php 自定义错误日志实例详解
Nov 12 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
php两点地理坐标距离的计算方法
Dec 29 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 header示例代码(推荐)
2010/09/08 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP 微信支付类 demo
2015/11/30 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
JS重学系列之聊聊new操作符
2019/03/04 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
计算机软件个人的自荐信范文
2013/12/01 职场文书
高二历史教学反思
2014/01/25 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
给朋友的道歉短信
2015/05/12 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL