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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
PHP获取表单所有复选框的值的方法
Aug 28 PHP
php常用的url处理函数总结
Nov 19 PHP
php中socket通信机制实例详解
Jan 03 PHP
php使用cookie实现记住登录状态
Apr 27 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
php文件包含的几种方式总结
Sep 19 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
PHP使用递归生成文章树
2015/04/21 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
php xhprof使用实例详解
2019/04/15 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
Python群发邮件实例代码
2014/01/03 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python实现超市商品销售管理系统
2019/11/22 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
go语言map与string的相互转换的实现
2021/04/07 Golang
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python