YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 개발하고 구현하는 방법에 대한 자세한 튜토리얼

巴扎黑
풀어 주다: 2023-03-15 19:54:02
원래의
1644명이 탐색했습니다.

처음 WeChat을 접했을 때, 양식 제출 기능을 만들어야 했습니다. 요건은 데이터베이스에 존재하는 휴대폰 번호로만 볼 수 있다는 것이었습니다. 이 기사를 통해 YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 구현하는 방법을 공유하겠습니다. 관심 있는 친구는 꼭 살펴보시기 바랍니다.

저는 WeChat을 처음 사용하고 있으며 양식을 만들고 싶습니다. 휴대폰의 제출 기능.

요구사항은 다음과 같습니다.

  1. 양식은 데이터베이스에 존재하는 휴대폰 번호에서만 볼 수 있습니다.

  2. 양식은 반복해서 제출할 수 있습니다.

  3. 양식을 처음 입력할 때는 인증이 필요합니다

  4. 당신이 공유하는 페이지는 다른 사람이 입력한 후에도 인증이 필요합니다.

동일 공식 계정 내 휴대폰의 오픈ID는 각각 다르기 때문이죠. 따라서 휴대폰에서 이 양식 페이지를 볼 때 openid가 데이터베이스에 저장되므로 다음에 제출할 때 확인할 수 있습니다.

아래는 내 코드입니다. YII2 프레임워크가 사용됩니다.

Controller


//获得回调函数
 public function actionCallback($code,$state){
    $model = new tp_tstz_proposal();
    $model1= new tp_tstz_staff();
    // 微信开放平台网站应用的appid和秘钥secret
    $appid = '';
    $secret = '';
    $curl = new curl\Curl();
    //获取access_token
    $wxresponse = $curl->get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid
      . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code');
    $wxresult = json_decode($wxresponse);
    if(isset($wxresult->errcode) && $wxresult->errcode > 0){
      //分享出去,重新认证
     return $this->render('login');
      // 向微信请求授权时出错,打印错误码
      // echo json_encode($wxresult);
      // exit;
    }
    $openid=$wxresult->openid;
    $result=$model1::find()->where(['openid'=>$openid])->one();
    //如果OPENID存在就去表单
    if(count($result)>0){
      $key=123456;
      return $this->render('view',['model'=>$model,'key'=>$key]);
    }else{
      return $this->render('tel',['model'=>$model1,'openid'=> $openid]);
    }
  }`
로그인 후 복사

view layer

매우 간단한 리디렉션 페이지


header('Location:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8ba95fc51672e844&redirect_uri=http%3a%2f%2fjifen.wendu.cn%2fts%2fweb%2findex.php%3fr%3dproposal%2fcallback&response_type=code&scope=snsapi_base&state=123asd#wechat_redirect');
로그인 후 복사

반환된 경로는 컨트롤러에 대한 경로입니다.

양식 페이지에서는 공유 페이지에서 오는지 확인하기 위해 먼저 간단한 인증을 했습니다


if(!isset($key)){
  header('Location:http://jifen.wendu.cn/ts/web/index.php?r=say/login');
}
로그인 후 복사

공유 페이지에서 오는 경우 휴대폰 여부를 다시 확인해야 합니다. openid에 있습니다. 그렇지 않은 경우 휴대폰 번호를 확인하세요.

이제 저의 첫 번째 간단한 WeChat 공개 계정 프로젝트입니다.

위 내용은 YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 개발하고 구현하는 방법에 대한 자세한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!