PHPwind整合最土系统用户同步登录实现方法
程序员文章站
2023-11-10 16:53:28
上次成功升级了最土商业版,接下来就是整合公司的社区网站,先说明一下我现在工作的地方是个地方社区网站,用的基础程序是phpwind,我的任务就是让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内进行,而最土只负责接受传递是否是空值来确认是否登录。
在我未成熟的程序思考能力下,我首先否定了重写程序这个方法,再次否定了将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内进行,而最土只负责接受传递是否是空值来确认是否登录。
上一篇: CPU中三级缓存是什么及其性能介绍
下一篇: CPU中TDP技术是什么及其功耗介绍