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
特转载一高手总结PHP学习资源和链接.
Dec 05 PHP
phpwind中的数据库操作类
Jan 02 PHP
php后台程序与Javascript的两种交互方式
Oct 25 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
destoon常用的安全设置概述
Jun 21 PHP
Java中final关键字详解
Aug 10 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 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工厂模式简单实现方法示例
2018/05/23 PHP
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python发送邮件脚本
2018/05/22 Python
Python创建或生成列表的操作方法
2019/06/19 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
公司出纳岗位职责
2013/12/07 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
廉洁自律个人总结
2015/02/14 职场文书
生产现场禁烟通知
2015/04/23 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
python中取整数的几种方法
2021/11/07 Python
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB