PHP高级实例 | 微信公众号授权登录HTML //登录验证 $without = array('register', 'login', 'forget'); // if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') == false ) {//判断是否微信浏览器 // if (!in_array($_GET['_action']作者王明昌发布时间2018-07-04最后更新2018-11-16 HTML 复制//登录验证 $without = array('register', 'login', 'forget'); // if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') == false ) {//判断是否微信浏览器 // if (!in_array($_GET['_action'], $without) && empty($_SESSION['user']['uid'])) { // if ($this->isPost()) { // $this->jserror('NOTLOGON'); // } else { // $this->redirect(__URL__ . '/login.html'); // } // } // }else { if (!in_array($_GET['_action'], $without) && empty($_SESSION['user']['uid'])) { if ($this->isPost()) { $this->jserror('NOTLOGON'); } else { $refurl = urlencode('http://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); if(empty($refurl)){$refurl = urlencode(__ROOT__);} get_loginweixin($refurl); /*if(!$_SESSION['user']['bandmobile']){ $this->redirect(__APP__ . '/default/bandmobile.html'); }*/ } } // } PHP方法 复制//微信登录 function get_loginweixin($url) { $code = $_REQUEST['code']; $appid = "********************"; $appsecret = "**********************";//获取openid if(empty($code)){ $acctokenurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$url."&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"; header('location:' . $acctokenurl, false, '301'); }else{ $code = $_GET['code'];//前端传来的code值 $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code"; $result = https_request($url); $jsoninfo = json_decode($result, true); //dump($jsoninfo);exit; $openid = $jsoninfo["openid"];//从返回json结果中读出openid $access_token = $jsoninfo["access_token"];//从返回json结果中读出openid $url1 = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; $result1 = https_request($url1); $users = json_decode($result1, true); $user = module('common')->model->table('member')->where("openid ='".$openid."'")->find(); //dump($openid);exit; if(empty($user)){ $data['gid'] = 1; if(!empty($_GET['uid'])){ $data['puid'] = $_GET['uid']; } $data['username'] = $users['openid']; $data['name'] = $users['nickname']; $data['openid'] = $users['openid']; $data['gender'] = $users['sex']; $data['country'] = $users['country']; $data['province'] = $users['province']; $data['city'] = $users['city']; $data['headimgurl'] = $users['headimgurl']; $data['createtime'] = $data['lasttime'] = time(); $data['createip'] = $data['lastip'] = get_client_ip(); $data['status'] = 1; $uid = module('common')->model->table('member')->data($data)->insert(); $_SESSION['user'] = module('common')->model->table('member')->where('uid='.$uid)->find(); }else { $data['name'] = $users['nickname']; $data['gender'] = $users['sex']; $data['country'] = $users['country']; $data['province'] = $users['province']; $data['city'] = $users['city']; $data['headimgurl'] = $users['headimgurl']; $data['lasttime'] = time(); $data['lastip'] = get_client_ip(); module('common')->model->table('member')->data($data)->where("uid=".$user['uid'])->update(); $_SESSION['user'] = module('common')->model->table('member')->where('uid='.$user['uid'])->find(); } // $_SESSION['user']['name'] = $users['nickname']; // if(empty($_SESSION['user']['bandmobile'])){ // header("Location:http://www.******.cn/weixin/index.php/default/bandmobile.html"); // } } } function https_request($url,$data = null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; }
2018-08-22支付宝支付接口错误说明错误查询 https://docs.open.alipay.com/58/103599/ 今天我遇到的一个错误,经过询问小二,网关错误,错误如下 ILLEGAL_ACCESS_SWITCH_SYSTE
2019-12-10阿里巴巴开源镜像提供的 packagist 镜像服务全局配置(推荐) 所有项目都会使用该镜像地址: composer config -g repo.packagist composer https://mirrors.aliyun.com/compos
2018-08-26实例 | 支付宝支付(使用md5加密)参数的获取 pid|key获取: 商户中心---账户管理---查看pid|key https://openhome.alipay.com/platform/keyManage.htm?keyType=
2018-10-31实例 | tp5使用七牛云上传图片和文件/删除文件thinkphp5中使用七牛云 下载 https://github.com/qiniu/php-sdk vendor文件下 新建文件 application/extra/qiniu.php retur
2018-05-28ajax-post传值的写法var data = {type:type,is_ok:is_ok,id:id}; $("#train").on("click",function(){ var id = $("#id_res").v
2018-05-27Ajax异步搜索内容,并显示使用ajax异步搜索内容,如果符合内容,则一行行的显示,每次查询时清空上次的记录 $("#search").on("click",function(){ var key = $("#keywords"