QQ登录获取openid后用户同步
来源:互联网 发布:csp绘画软件汉化 编辑:程序博客网 时间:2024/06/10 03:53
最近要用到QQ登录,要求可以和织梦的用户同步。刚刚改好,一团乱,但是能登录了~~存个档吧~~
<?php
/**
* 腾讯织梦同步登录程序
*
* @version 11:06 2011年11月04日
* @package open.qq.com
* @copyright Copyright (c) 20011 - 2012, jackqn@msn.com.
* @link http://blog.csdn.net/jackqn
* 用户名(如果用户跳过注册则提交openid),密码,openid,昵称,头像。性别
* call_user_func(CheckUser,用户名,密码,openid,昵称,头像,性别,access_token);
* 放于member文件夹下
*/
require_once("config.php");
error_reporting(0);
$params = $_POST;
$params['nickname']= iconv('UTF-8', 'gb2312', $params['nickname']);
$params['figureurl_2']= iconv('UTF-8', 'gb2312', $params['figureurl_2']);
$params['gender']= iconv('UTF-8', 'gb2312', $params['gender']);
//call_user_func(CheckUser,用户名,密码,openid,昵称,头像,性别,access_token);
$denglu=call_user_func(CheckUser,$params['user'],md5($params['pass']),$params["openid"],$params["nickname"],$params["figureurl_2"],$params["gender"],$params['access_token']);
if($denglu==1){
ShowMsg("成功登录,5秒钟后转向系统主页...","index.php",0,2000);
}else{
ShowMsg("登录出错!", "-1", 0, 2000);
exit();
}
//检查用户是否可以登录
function CheckUser($loginuser, $loginpwd,$openid,$nichkname,$figureurl,$gender,$access_token)
{
global $dsql;$access_time=time();
$row = $dsql->GetOne("SELECT mid,matt,pwd,logintime FROM `#@__member` WHERE openid = '$openid' ");
if(is_array($row))
{//找到用户执行登录
$dsql->ExecuteNoneQuery("Update `#@__member` set `access_token`='$access_token',`access_time`='$access_time' WHERE openid = '$openid' ");
putlogin($row['mid']);
return 1;
}
else
{
//未找到用户,添加用户
if($loginuser=='')
{
//用openid的前6位位作为用户名和密码
$loginuser=substr($openid, 0, 6);
$loginpwd=substr($openid, 0, 6);
}
//注册织梦会员
$row = $dsql->GetOne("SELECT `money`,`scores` FROM `#@__arcrank` WHERE `rank`='10' ");
$scores = is_array($row) ? $row['scores'] : 0;
$money = is_array($row) ? $row['money'] : 0;
$logintime = $jointime = time();
$loginip = $joinip = GetIP();
$res = $dsql->ExecuteNoneQuery("INSERT INTO #@__member SET `mtype`='个人',`userid`='$loginuser',`pwd`='$loginpwd',`uname`='$nichkname',`sex`='$gender' ,`rank`='10',`money`='$money', `email`='$email', `scores`='$scores', `matt`='0', `face`='$figureurl',`safequestion`='0',`safeanswer`='', `jointime`='$jointime',`joinip`='$joinip',`logintime`='$logintime',`loginip`='$loginip',`openid`='$openid',`access_token`='$access_token',`access_time`='$access_time';");
if($res) {
$mid = $dsql->GetLastID();
$data = array
(
0 => "INSERT INTO `#@__member_person` SET `mid`='$mid', `onlynet`='1', `sex`='$gender', `uname`='$nichkname', `qq`='', `msn`='', `tel`='', `mobile`='', `place`='', `oldplace`='0' ,
`birthday`='1980-01-01', `star`='1', `income`='0', `education`='0', `height`='160', `bodytype`='0', `blood`='0', `vocation`='0', `smoke`='0', `marital`='0', `house`='0',
`drink`='0', `datingtype`='0', `language`='', `nature`='', `lovemsg`='', `address`='',`uptime`='0';",
1 => "INSERT INTO `#@__member_tj` SET `mid`='$mid',`article`='0',`album`='0',`archives`='0',`homecount`='0',`pagecount`='0',`feedback`='0',`friend`='0',`stow`='0';",
2 => "INSERT INTO `#@__member_space` SET `mid`='$mid',`pagesize`='10',`matt`='0',`spacename`='{$nichkname}的空间',`spacelogo`='',`spacestyle`='person', `sign`='',`spacenews`='';",
3 => "INSERT INTO `#@__member_flink` SET `mid`='$mid', `title`='网站', `url`='#';"
);
foreach($data as $val) $dsql->ExecuteNoneQuery($val);
}
//重新执行登录
$row = $dsql->GetOne("SELECT mid,matt,pwd,logintime FROM `#@__member` WHERE openid = '$openid' ");
if(is_array($row))
{
putlogin($row['mid']);
return 1;
}else{
return 0;
}
}
}
//登录
function putlogin($uid)
{
global $dsql;
$LoginTime = time();
$loginip = GetIP();
$inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".$LoginTime."' WHERE mid='".$uid."'";
$dsql->ExecuteNoneQuery($inquery);
putcookie('DedeUserID',$uid);
putcookie('DedeLoginTime',$LoginTime);
}
function putcookie($key, $value, $kptime=3600000, $pa="/")
{
global $cfg_cookie_encode,$cfg_domain_cookie;
SetCookie($key, $value, time()+$kptime, $pa,$cfg_domain_cookie);
SetCookie($key.'__ckMd5', substr(md5($cfg_cookie_encode.$value),0,16), time()+$kptime, $pa,$cfg_domain_cookie);
}
?>
<?php
/**
* 腾讯织梦同步登录程序
*
* @version 11:06 2011年11月04日
* @package open.qq.com
* @copyright Copyright (c) 20011 - 2012, jackqn@msn.com.
* @link http://blog.csdn.net/jackqn
* 用户名(如果用户跳过注册则提交openid),密码,openid,昵称,头像。性别
* call_user_func(CheckUser,用户名,密码,openid,昵称,头像,性别,access_token);
* 放于member文件夹下
*/
require_once("config.php");
error_reporting(0);
$params = $_POST;
$params['nickname']= iconv('UTF-8', 'gb2312', $params['nickname']);
$params['figureurl_2']= iconv('UTF-8', 'gb2312', $params['figureurl_2']);
$params['gender']= iconv('UTF-8', 'gb2312', $params['gender']);
//call_user_func(CheckUser,用户名,密码,openid,昵称,头像,性别,access_token);
$denglu=call_user_func(CheckUser,$params['user'],md5($params['pass']),$params["openid"],$params["nickname"],$params["figureurl_2"],$params["gender"],$params['access_token']);
if($denglu==1){
ShowMsg("成功登录,5秒钟后转向系统主页...","index.php",0,2000);
}else{
ShowMsg("登录出错!", "-1", 0, 2000);
exit();
}
//检查用户是否可以登录
function CheckUser($loginuser, $loginpwd,$openid,$nichkname,$figureurl,$gender,$access_token)
{
global $dsql;$access_time=time();
$row = $dsql->GetOne("SELECT mid,matt,pwd,logintime FROM `#@__member` WHERE openid = '$openid' ");
if(is_array($row))
{//找到用户执行登录
$dsql->ExecuteNoneQuery("Update `#@__member` set `access_token`='$access_token',`access_time`='$access_time' WHERE openid = '$openid' ");
putlogin($row['mid']);
return 1;
}
else
{
//未找到用户,添加用户
if($loginuser=='')
{
//用openid的前6位位作为用户名和密码
$loginuser=substr($openid, 0, 6);
$loginpwd=substr($openid, 0, 6);
}
//注册织梦会员
$row = $dsql->GetOne("SELECT `money`,`scores` FROM `#@__arcrank` WHERE `rank`='10' ");
$scores = is_array($row) ? $row['scores'] : 0;
$money = is_array($row) ? $row['money'] : 0;
$logintime = $jointime = time();
$loginip = $joinip = GetIP();
$res = $dsql->ExecuteNoneQuery("INSERT INTO #@__member SET `mtype`='个人',`userid`='$loginuser',`pwd`='$loginpwd',`uname`='$nichkname',`sex`='$gender' ,`rank`='10',`money`='$money', `email`='$email', `scores`='$scores', `matt`='0', `face`='$figureurl',`safequestion`='0',`safeanswer`='', `jointime`='$jointime',`joinip`='$joinip',`logintime`='$logintime',`loginip`='$loginip',`openid`='$openid',`access_token`='$access_token',`access_time`='$access_time';");
if($res) {
$mid = $dsql->GetLastID();
$data = array
(
0 => "INSERT INTO `#@__member_person` SET `mid`='$mid', `onlynet`='1', `sex`='$gender', `uname`='$nichkname', `qq`='', `msn`='', `tel`='', `mobile`='', `place`='', `oldplace`='0' ,
`birthday`='1980-01-01', `star`='1', `income`='0', `education`='0', `height`='160', `bodytype`='0', `blood`='0', `vocation`='0', `smoke`='0', `marital`='0', `house`='0',
`drink`='0', `datingtype`='0', `language`='', `nature`='', `lovemsg`='', `address`='',`uptime`='0';",
1 => "INSERT INTO `#@__member_tj` SET `mid`='$mid',`article`='0',`album`='0',`archives`='0',`homecount`='0',`pagecount`='0',`feedback`='0',`friend`='0',`stow`='0';",
2 => "INSERT INTO `#@__member_space` SET `mid`='$mid',`pagesize`='10',`matt`='0',`spacename`='{$nichkname}的空间',`spacelogo`='',`spacestyle`='person', `sign`='',`spacenews`='';",
3 => "INSERT INTO `#@__member_flink` SET `mid`='$mid', `title`='网站', `url`='#';"
);
foreach($data as $val) $dsql->ExecuteNoneQuery($val);
}
//重新执行登录
$row = $dsql->GetOne("SELECT mid,matt,pwd,logintime FROM `#@__member` WHERE openid = '$openid' ");
if(is_array($row))
{
putlogin($row['mid']);
return 1;
}else{
return 0;
}
}
}
//登录
function putlogin($uid)
{
global $dsql;
$LoginTime = time();
$loginip = GetIP();
$inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".$LoginTime."' WHERE mid='".$uid."'";
$dsql->ExecuteNoneQuery($inquery);
putcookie('DedeUserID',$uid);
putcookie('DedeLoginTime',$LoginTime);
}
function putcookie($key, $value, $kptime=3600000, $pa="/")
{
global $cfg_cookie_encode,$cfg_domain_cookie;
SetCookie($key, $value, time()+$kptime, $pa,$cfg_domain_cookie);
SetCookie($key.'__ckMd5', substr(md5($cfg_cookie_encode.$value),0,16), time()+$kptime, $pa,$cfg_domain_cookie);
}
?>
- QQ登录获取openid后用户同步
- 获取用户openid
- 第三方QQ登录、获取用户质料
- springmvc+shiro用户登录后获取用户
- 微信小程序获取用户openId
- 微信小程序获取用户openid
- 微信小程序获取用户openid
- 获取微信用户OpenID
- 获取微信用户OpenID
- 小程序获取用户openid
- 微信小程序获取用户OpenId
- 如何获取用户的openid
- 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样
- 手机端QQ登录openid与网站端QQ登录openid不一样
- 手机端QQ登录openid与网站端QQ登录openid不一样
- 获取微信用户的openId
- php获取微信用户的openid
- 微信获取用户的openid
- 一个男人在他妻子洗完澡后准备进浴室洗澡
- 腾讯庄泗华:腾讯1亿用户在线背后的技术挑战
- matlab边缘检测代码(包含roberts,sobel,prewitt三种算子)
- Aix6.1下安装SWFTools
- TQ2440 AD中断方式采集数据
- QQ登录获取openid后用户同步
- Oracle SQL Developer与PL/SQL Developer比较
- maven实战笔记-3
- 网站运营数据分析的两点建议
- 地理资源所成功举办“第五届京区地理学研究生学术论坛暨全国地理学研究生联合会成立五周年庆典”
- 配置DAVINCI内存在DVEVM步骤--转
- SQL
- ubuntu开启telnet服务
- 第六届全国地理学研究生学术年会取得圆满成功