广州传奇网络
地址:广州市天河区东圃大马路富华楼C座
电话:13808825895
QQ:1564443073
其实整合登陆问题核心是对方是否提供相关的登录接口供你使用,比如支付宝所有接口的费用必须是3600+的合作商家,TX应该不会比这个少,至于其他的人人网不太清楚但是原理都是一样的。
这里我只写了返回的接口,正向接口,对方会给出demo的我就不累述
以支付宝为例:
<?
define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
include_once(ROOT_PATH . 'includes/lib_transaction.php');
include_once(ROOT_PATH . 'includes/lib_passport.php');
$ip = real_ip();
if($ip!=="121.0.26.11"){//判断数据来源
header("Location: index.php\n");
exit;
}
function check_user($username){//检查用户是否存在
$sql = "SELECT user_id, password, salt " .
" FROM " . $GLOBALS['ecs']->table("users").
" WHERE user_name='$username'";
$row = $GLOBALS['db']->getRow($sql);
if (!empty($row)){
return true;
}else{
return false;
}
}
if($_REQUEST['user_id']!==""){//获取返回值 支付宝只返回了一个ID 其他的 可以参考接口说明获取 其实只要一个参数就够了
$username="al".$_REQUEST['user_id'];//为返回的ID加一个 al 作为用户的用户名 TX接口好像有返回QQ号码 所以你可以使用返回的号码作为用户名
$password=time();//随便弄个密码 反正没有用
$email=$username.'@163.com';//支付宝没有返回邮箱 所以随便弄个 其他的可以根据返回情况而定
$back_act ="user.php";
/* 检测用户名 */
if (check_user($username)!==false){//账号存在直接完成登录
$GLOBALS['user']->set_session($username);
$GLOBALS['user']->set_cookie($username);
header("Location: user.php\n");
exit;
}else{//账号不存在就完成注册并自动登录
$reg_date = time();
$password =md5($password);
$GLOBALS['db']->query('INSERT INTO ' . $GLOBALS['ecs']->table("users") . "(`email`, `user_name`, `password`, `reg_time`, `last_login`, `last_ip`) VALUES ('$email', '$username', '$password', '$reg_date', '$reg_date', '$ip')");//账号不存在 就写入数据库 并登陆
$GLOBALS['user']->set_session($username);
$GLOBALS['user']->set_cookie($username);
header("Location: user.php\n");
exit;
}
}else{
echo 'fail';
exit;
}
?>