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 相关文章推荐
延长phpmyadmin登录时间的方法
Feb 06 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
php提交表单发送邮件的方法
Mar 20 PHP
PHP语法小结之基础和变量
Nov 22 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP 记录访客的浏览信息方法
Jan 29 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 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 运行效率总结(提示程序速度)
2009/11/26 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python中的类与对象之描述符详解
2015/03/27 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python3.4实现邮件发送功能
2018/05/28 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Python 3.8 新功能全解
2019/07/25 Python
python os.fork() 循环输出方法
2019/08/08 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
Django实现网页分页功能
2019/10/31 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
数控专业应届生求职信
2013/11/27 职场文书
自我鉴定四大框架
2014/01/17 职场文书
公司接待方案
2014/03/08 职场文书
超市开店计划书
2014/04/26 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
迎新生欢迎词
2015/01/23 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
六年级作文之预言作文
2019/10/25 职场文书