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&amp;mysql(一)
Oct 09 PHP
ezSQL PHP数据库操作类库
May 16 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
深入理解PHP内核(一)
Nov 10 PHP
php实现微信发红包
Dec 05 PHP
微信公众平台DEMO(PHP)
May 04 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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编写PDF文档生成器
2006/10/09 PHP
图书管理程序(三)
2006/10/09 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
javascript去掉前后空格的实例
2013/11/07 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
浅析javascript 定时器
2014/12/23 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python编写百度贴吧的简单爬虫
2015/04/02 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python实现杨辉三角思路
2017/07/14 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
平安家庭示范户事迹
2014/06/02 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫