本文实例讲述了基于CI框架的微信网页授权库。分享给大家供大家参考,具体如下:
这里演示建立在CI框架上的微信网页授权功能。
1. 微信小类库,网页授权放置在libraries文件夹
<"https://open.weixin.qq.com/connect/oauth2/authorize"; return $url; } /* 通过code换取access_token*/ function access_token($code) { /*获取到的code换取access_token和openid*/ $post_url = "https://api.weixin.qq.com/sns/oauth2/access_token"; // echo $post_url;exit(); $return = $this->postdata($post_url); // print_r($return);exit(); $access_token = $return['access_token']; $openid = $return['openid']; /*获取微信用户数据*/ $get_userinfo = "https://api.weixin.qq.com/sns/userinfo"; $userinfo = json_decode(file_get_contents($get_userinfo)); return $userinfo; } function eff($access_token,$openid) { /*检测access_token是否正确,errcode=0 为正确*/ $eff_url = "https://api.weixin.qq.com/sns/auth"; $get_eff =json_decode(file_get_contents($eff_url)); return $get_eff; } //通过curl方式提交code换取access_token数据 function postdata($url) { header('Content-Type:text/html;charset=utf-8'); // echo $url;exit(); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSLVERSION, 1); // 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); // var_dump($output);exit(); // print_r($output);exit(); $access = json_decode($output,true); return $access; } /* 这个位置开始是控制器index()传入的微信用户资料处理 */ function save_session($data) { foreach ($data as $key => $value) { // $_SESSION['uid'] = $value['uid']; // $_SESSION['nickname'] = $value['nickname']; // $_SESSION['fullname'] = $value['fullname']; // $_SESSION['status'] = $value['status']; // $_SESSION['groups'] = $value['groups']; $_SESSION[$key] = $value; } return $_SESSION; // print_r($_SESSION);exit(); // unset($_SESSION[0]); } function obj_to_arr($data) { // 进行转换成数组 使用 obj_to_arr方式 $data = is_object($data)"htmlcode"><"Y-m-d"); $insert_id = $this->Coupon_model->insert_one('cou_user',$user_exists); $user_exists['uid'] = $insert_id; } else{ $user_exists = $user_exists[0]; } // $return_url = $this->session->back_url; // if(isset($return_url))header('location:'.$return_url); /*由Coupon_idex中的Get_Coupon处理*/ $this->session->set_userdata($user_exists); if(isset($this->session->return_url))header('location:'.$this->session->return_url); // print_r($user_exists);exit(); header('location:'.$redirect); } function Coupon_start() { /*进入领取页面,需要先经过授权*/ $redirect_url = 'Coupon/Coupon_index/User_exists'; $redirect = urlencode('http://yourwebname.com/coupon/index.php/'.$redirect_url); // $redirect = urlencode('http://yourwebname.com/coupon/index.php/Coupon/Coupon_index/Get_code'); $return = $this->weixin->redirect_url($redirect); header('location:'.$return); } public function Get_code() { if(isset($_GET['code'])) { $code = $_GET['code']; // echo $code;exit(); $user_arr = $this->weixin->access_token($code); //跳转到用户检测中check_exists()去 // echo $user_arr;exit(); // var_dump($user_arr); return $user_arr; }else{ //否则检测cookie中是否存在该用户,如果有,则return回首页 echo 'error'; } } public function Coupon_Get() { /*获取商家bid,读取相关信息*/ // $b_name = $this->uri->segment(4, 0); $nickname = $this->session->nickname; $openid = $this->session->openid; $status = $this->session->status; $_SESSION['return_url'] = $_SERVER['REQUEST_URI']; // $this->session->set_userdata($return_url); // echo $this->session->return_url;exit(); if(empty($nickname))header('location:'.'http://yourwebname.com/coupon/index.php/Coupon/Coupon_index/Coupon_start'); $bid = $this->uri->segment(5, 0); /*扔进Coupon_model中,读取bid中的商家信息*/ $content = $this->Coupon_model->Coupon_Business('cou_business',$bid); // print_r($content); // echo $bid; // echo $b_name; $data['bname'] = $content['bname']; $data['discount'] = $content['discount']; $data['bimg'] = $content['bimg']; $data['contents'] = $content['contents']; $data['amount'] = $content['amount']; $data['nickname'] = $nickname; $data['status'] = $status; $data['js'] = json_encode(array($content['bname'],$content['discount'],$nickname,$status)); // echo $data['js'];exit(); // print_r($data); $this->load->view('/coupon/index.html',$data); // echo $nickname; // echo $status; } }更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- [发烧人声]群星《邂逅》DTS-WAV
- 艻打绿《夏/狂热(苏打绿版)》[320K/MP3][106.42MB]
- 艻打绿《夏/狂热(苏打绿版)》[FLAC分轨][574.2MB]
- 黄雨勳《魔法列车首部曲》[320K/MP3][33.1MB]
- 李蕙敏.2014-记得·销魂新歌+精丫乐意唱片】【WAV+CUE】
- 谢金燕.1995-含泪跳恰蔷冠登】【WAV+CUE】
- 于文文.2024-天蝎座【华纳】【FLAC分轨】
- 黄雨勳《魔法列车首部曲》[FLAC/分轨][173.61MB]
- 群星《歌手2024 第13期》[320K/MP3][50.09MB]
- 群星《歌手2024 第13期》[FLAC/分轨][325.93MB]
- 阿木乃《爱情买卖》DTS-ES【NRG镜像】
- 江蕾《爱是这样甜》DTS-WAV
- VA-Hair(OriginalBroadwayCastRecording)(1968)(PBTHAL24-96FLAC)
- 博主分享《美末2RE》PS5 Pro运行画面 玩家仍不买账
- 《双城之战2》超多新歌MV发布:林肯公园再次献声