PHPwind整合最土系统用户同步登录实现方法
2015-01-24信息快讯网
我的任务就是让PHPWind和最土登录同步,领导也知道我的技术能力有限,不怎么高要求,所以让我先实现,再考虑其他。赶鸭子上架,开工了。
上次成功升级了最土商业版,接下来就是整合公司的社区网站,先说明一下我现在工作的地方是个地方社区网站,用的基础程序是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 __autoload()方法真的影响性能吗?
phpmyadmin3 安装配置图解教程
php 注释规范
php 计划任务 检测用户连接状态
MySQL的FIND_IN_SET函数使用方法分享
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
在WINDOWS中设置计划任务执行PHP文件的方法
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
PHP Undefined index报错的修复方法
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Windows下利用Gvim写PHP产生中文乱码问题解决方法
浅谈PHP Extension的开发――基础篇第1/2页
php iconv() : Detected an illegal character in input string
php printf输出格式使用说明
PHP执行zip与rar解压缩方法实现代码
smarty模板嵌套之include与fetch性能测试
php 学习资料零碎东西
PHP访问MYSQL数据库封装类(附函数说明)
Windows 下的 PHP-PEAR 安装方法
Notice: Undefined index: page in E:\PHP\test.php on line 14
windows下升级PHP到5.3.3的过程及注意事项
windows中PHP5.2.14以及apache2.2.16安装配置方法第1/2页
php Notice: Undefined index 错误提示解决方法
在Windows系统上安装PHP运行环境文字教程
Windows下XDebug 手工配置与使用说明