Home  >  Article  >  Backend Development  >  I wrote a code to connect to WeChat, but it always goes wrong. Please give me some advice.

I wrote a code to connect to WeChat, but it always goes wrong. Please give me some advice.

WBOY
WBOYOriginal
2016-08-04 09:21:321449browse

error_reporting(E_ALL);
require "conn.php";
$appid = 'xxxxx';
$redirect_uri=urlencode("http://www.xxxxx.com/weixin/rukou.php/");
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=coo#wechat_redirect";
header('location',$url);

$appsecret = 'xxxxx';
$code = $_GET['code'];
$get_token_url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";

<code>$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $get_token_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res=curl_exec($ch);
curl_close($ch);
  $jsonobj=json_decode($res,ture);</code>

$access_token=$jsonobj['access_token'];
$openid=$jsonobj['openid'];
//检查数据库中是否有openid
mysql_select_db("sjk", $dzcon);
mysql_query('set names utf8',$dzcon);
$sqlcha="select id from user where weixinopenid=$openid";
if (is_null(mysql_query($sqlcha, $dzcon))) {

<code>$userids=mysql_query($sqlcha, $dzcon);
$userid=mysql_fetch_array($userids);</code>

}else{

<code>$get_user_info_url="https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $get_token_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res=curl_exec($ch);
curl_close($ch);</code>

$userobj=json_decode($res,true);
$nickname=$userobj['nickname'];

//date
$date=date("y-m-d h:i:s");

//add data

$sqlzhuce="insert into user (weixinhao,weixinnicheng,zhucetime) values('$openid','$nickname','$date')";
if (!mysql_query($sqlzhuce,$dzcon)) {

<code>echo "提交失败";
die('Error:'.mysql_error());</code>

}
$sqldenglu="select id from user where weixinhao=$openid";
$userids=mysql_query($sqldenglu,$dzcon);
$userid=mysql_fetch_array($userids);
}
session_start();
$_SESSION['userid']=$userid[0];
echo "<script>window.location.href=index.php?userid=".$_SESSION['userid']";</script>";
mysql_close($dzcon);

?>

回复内容:

error_reporting(E_ALL);
require "conn.php";
$appid = 'xxxxx';
$redirect_uri=urlencode("http://www.xxxxx.com/weixin/rukou.php/");
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=coo#wechat_redirect";
header('location',$url);

$appsecret = 'xxxxx';
$code = $_GET['code'];
$get_token_url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";

<code>$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $get_token_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res=curl_exec($ch);
curl_close($ch);
  $jsonobj=json_decode($res,ture);</code>

$access_token=$jsonobj['access_token'];
$openid=$jsonobj['openid'];
//检查数据库中是否有openid
mysql_select_db("sjk", $dzcon);
mysql_query('set names utf8',$dzcon);
$sqlcha="select id from user where weixinopenid=$openid";
if (is_null(mysql_query($sqlcha, $dzcon))) {

<code>$userids=mysql_query($sqlcha, $dzcon);
$userid=mysql_fetch_array($userids);</code>

}else{

<code>$get_user_info_url="https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $get_token_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res=curl_exec($ch);
curl_close($ch);</code>

$userobj=json_decode($res,true);
$nickname=$userobj['nickname'];

//date
$date=date("y-m-d h:i:s");

//add data

$sqlzhuce="insert into user (weixinhao,weixinnicheng,zhucetime) values('$openid','$nickname','$date')";
if (!mysql_query($sqlzhuce,$dzcon)) {

<code>echo "提交失败";
die('Error:'.mysql_error());</code>

}
$sqldenglu="select id from user where weixinhao=$openid";
$userids=mysql_query($sqldenglu,$dzcon);
$userid=mysql_fetch_array($userids);
}
session_start();
$_SESSION['userid']=$userid[0];
echo "<script>window.location.href=index.php?userid=".$_SESSION['userid']";</script>";
mysql_close($dzcon);

?>

报错是什么,放在http://mp.weixin.qq.com/debug/调试下报错

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn