PHP微商城开源代码实例


Posted in PHP onMarch 27, 2019

本文实例为大家分享了PHP微商城的具体代码,供大家参考,具体内容如下

<?php
require '../conn/conn2.php';
require '../conn/function.php';

$D_domain = splitx($_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"], "/weixin", 0);
$sql = "Select * from SL_config";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
if (mysqli_num_rows($result) > 0) {
  $C_webtitle = $row["C_title"];
  $C_wtoken = $row["C_wtoken"];
  $C_logo = $row["C_logo"];
  $C_ico = $row["C_ico"];
  $C_wx_appidz = $row["C_wx_appid"];
  $C_wx_appsecretz = $row["C_wx_appsecret"];
}
$signature = $_REQUEST["signature"];
$nonce = $_REQUEST["nonce"];
$timestamp = $_REQUEST["timestamp"];
$echostr = $_REQUEST["echostr"];
if ($echostr != "") {
  $array = array();
  $array = array($C_wtoken, $timestamp, $nonce);
  sort($array);
  $str = sha1(implode($array));
  if ($str == $signature && $echostr) {
    echo $echostr;
    exit;
  }
}
if ($signature != "" && $echostr == "") {
  $postArr = file_get_contents("php://input");
  $postObj = simplexml_load_string($postArr);
  $ToUserName = $postObj->FromUserName;
  $FromUserName = $postObj->ToUserName;
  $MsgType = $postObj->MsgType;
  $strEvent = $postObj->Event;
  $EventKey = $postObj->EventKey;

  file_put_contents("test.txt", $postArr);

  if ($MsgType == "event") {
    
    if ($strEvent == "subscribe") {
      $strsend = events( $ToUserName,$FromUserName, "key_" . getrs("select * from SL_reply where R_key like '新用户关注'", "R_reply"));

      $sqlx = "Select * from SL_member where M_qqid like '" . $ToUserName . "'";
      $resultx = mysqli_query($conn, $sqlx);
      if (mysqli_num_rows($resultx) > 0) {
        mysqli_query($conn, "update SL_member set M_subscribe=1 where M_qqid like '" . $ToUserName . "'");
      } else {
        $access_token = json_decode(GetBody("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $C_wx_appidz . "&secret=" . $C_wx_appsecretz, ""))->access_token;
        $M_info = json_decode(GetBody("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" . $access_token . "&openid=" . $ToUserName . "&lang=zh_CN", ""));

        $M_login = $M_info->nickname;
        $M_pic = $M_info->headimgurl;
        $M_city = $M_info->city;
        $M_province = $M_info->province;
        $M_country = $M_info->country;
        mysqli_query($conn, "insert into SL_member(M_login,M_pwd,M_qqid,M_pic,M_fen,M_regtime,M_add,M_name,M_subscribe) values('" . $M_login . "','" . $ToUserName . "','" . $ToUserName . "','" . $M_pic . "',0,'" . date('Y-m-d H:i:s') . "','" . $M_country . $M_province . $M_city . "','" . $M_login . "',1)");
        $sql = "select * from SL_member order by M_id desc limit 1";
        $result = mysqli_query($conn, $sql);
        $row = mysqli_fetch_assoc($result);
        if (mysqli_num_rows($result) > 0) {
          $M_id = $row["M_id"];
        }
        uplevel($M_id);
      }
    }
    if ($strEvent == "unsubscribe") {
      mysqli_query($conn, "update SL_member set M_subscribe=0 where M_qqid like '" . $ToUserName . "'");
    }
    if ($strEvent == "CLICK") {;
      $strsend = events( $ToUserName,$FromUserName, $EventKey);
      
    }
  }
  if ($MsgType == "text") {
    $E_content = $postObj->Content;
    $strsend = text( $ToUserName, $FromUserName,$E_content);

    file_put_contents("test3.txt", $strsend);
  }
  echo $strsend;
}
function events($FromUserName, $ToUserName, $key) {
  global $conn, $D_domain, $C_ico;
  $E_type = getrs("select * from SL_event where E_id=" . splitx($key, "_", 1), "E_type");
  $E_content = getrs("select * from SL_event where E_id=" . splitx($key, "_", 1), "E_content");
  switch ($E_type) {
    case "text":
      $events = "<xml>
						<ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
						<FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
						<CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
						<MsgType><![CDATA[text]]></MsgType>
						<Content><![CDATA[" . $E_content . "]]></Content>
						<FuncFlag>0<FuncFlag>
						</xml>";
    break;
    case "article":
      $events = "<xml>
						<ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
						<FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
						<CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
						<MsgType><![CDATA[news]]></MsgType>
						<ArticleCount>1</ArticleCount>
						<Articles>";
      $emptystr = "<item>
							<Title><![CDATA[文章已删除]]></Title> 
							<Description><![CDATA[文章已删除]]></Description>
							<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
							<Url><![CDATA[http://" . $D_domain . "/wap_index.php]]></Url>
						</item>";
      switch (substr($E_content, 0, 1)) {
        case "T":
          if (getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_title") != "") {
            $events = $events . "<item>
												<Title><![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_title")) . "]]></Title>
												<Description><![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_description")) . "]]></Description>
												<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_pic") . "]]></PicUrl>
												<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=text&S_id=" . substr($E_content, -(strlen($E_content) - 1)) . "]]></Url>
											</item>";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "N":
          if (getrs("select * from SL_news where N_id=" . substr($E_content, strlen($E_content) - 1), "N_title") != "") {
            $events = $events . "<item>
												<Title><![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content, -(strlen($E_content) - 1)), "N_title")) . "]]></Title>
												<Description><![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content, -(strlen($E_content) - 1)), "N_short")) . "]]></Description>
												<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_news where N_id=" . substr($E_content, -(strlen($E_content) - 1)), "N_pic") . "]]></PicUrl>
												<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=newsinfo&S_id=" . substr($E_content, -(strlen($E_content) - 1)) . "]]></Url>
												</item>";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "P":
          if (getrs("select * from SL_product where P_id=" . substr($E_content, strlen($E_content) - 1), "P_title") != "") {
            $events = $events . "<item>
											<Title><![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content, -(strlen($E_content) - 1)), "P_title")) . "]]></Title>
											<Description><![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content, -(strlen($E_content) - 1)), "P_short")) . "]]></Description>
											<PicUrl><![CDATA[http://" . $D_domain . "/" . splitx(getrs("select * from SL_product where P_id=" . substr($E_content, -(strlen($E_content) - 1)), "P_path"), "|", 0) . "]]></PicUrl>
											<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=productinfo&S_id=" . substr($E_content, -(strlen($E_content) - 1)) . "]]></Url>
											</item>";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "F":
          if (getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_title") != "") {
            $events = $events . "<item>
											<Title><![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_title")) . "]]></Title>
											<Description><![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_description")) . "]]></Description>
											<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_pic") . "]]></PicUrl>
											<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=form&S_id=" . substr($E_content, -(strlen($E_content) - 1)) . "]]></Url>
											</item>";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "C":
          $events = $events . "<item>
											<Title><![CDATA[联系我们]]></Title>
											<Description><![CDATA[联系我们]]></Description>
											<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
											<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=contact&S_id=1]]></Url>
											</item>";
        break;
        case "G":
          $events = $events . "<item>
										<Title><![CDATA[在线留言]]></Title>
										<Description><![CDATA[在线留言]]></Description>
										<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
										<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=guestbook&S_id=1]]></Url>
										</item>";
      }
      $events = $events . "</Articles></xml>";
    break;
    case "articles":
      if ($E_content == "推送网站目录") {
        $events = gz( $FromUserName,$ToUserName);
      } else {
        $E_content = explode(",", $E_content);
        for ($i = 0;$i < count($E_content);$i++) {
          switch (substr($E_content[$i], 0, 1)) {
            case "T":
              if (getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_title") != "") {
                $events = $events . "<item>
													<Title><![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_title")) . "]]></Title>
													<Description><![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_description")) . "]]></Description>
													<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_pic") . "]]></PicUrl>
													<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=text&S_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)) . "]]></Url>
													</item>";
              }
            break;
            case "N":
              if (getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_title") != "") {
                $events = $events . "<item>
														<Title><![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_title")) . "]]></Title>
														<Description><![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_short")) . "]]></Description>
														<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_pic") . "]]></PicUrl>
														<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=newsinfo&S_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)) . "]]></Url>
														</item>";
              }
            break;
            case "P":
              if (getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_title") != "") {
                $events = $events . "<item>
													<Title><![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_title")) . "]]></Title>
													<Description><![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_short")) . "]]></Description>
													<PicUrl><![CDATA[http://" . $D_domain . "/" . splitx(splitx(getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_path"), "|", 0),"_",0) . "]]></PicUrl>
													<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=productinfo&S_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)) . "]]></Url>
													</item>";
              }
            break;
            case "F":
              if (getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_title") != "") {
                $events = $events . "<item>
													<Title><![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_title")) . "]]></Title>
													<Description><![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_description")) . "]]></Description>
													<PicUrl><![CDATA[http://" . $D_domain . "/" . getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_pic") . "]]></PicUrl>
													<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=form&S_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)) . "]]></Url>
													</item>";
              }
            break;
            case "C":
              $events = $events . "<item>
													<Title><![CDATA[联系我们]]></Title>
													<Description><![CDATA[联系我们]]></Description>
													<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
													<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=contact&S_id=1]]></Url>
													</item>";
            break;
            case "G":
              $events = $events . "<item>
													<Title><![CDATA[在线留言]]></Title>
													<Description><![CDATA[在线留言]]></Description>
													<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
													<Url><![CDATA[http://" . $D_domain . "/wap_index.php?type=guestbook&S_id=1]]></Url>
													</item>";
          }
        }
        
        if (strpos($events,"<Title>")===false) {
          $events = "<item>
								<Title><![CDATA[文章已删除]]></Title>
								<Description><![CDATA[文章已删除]]></Description>
								<PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl>
								<Url><![CDATA[http://" . $D_domain . "/wap_index.php]]></Url>
								</item>";
          $NUM = 1;
        }else{
        	$NUM = count(explode("<Title>", $events))-1;
        }

        $events = "<xml>
							<ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
							<FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
							<CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
							<MsgType><![CDATA[news]]></MsgType>
							<ArticleCount>" . $NUM . "</ArticleCount>
							<Articles>" . $events . "</Articles></xml>";
      }
  }
  file_put_contents("test2.txt", $events);
  return $events;
}
function text($FromUserName, $ToUserName, $fromstr) {
  global $conn, $D_domain, $C_ico;
  $sql = "select * from SL_reply where R_key like '" . $fromstr . "'";
  $result = mysqli_query($conn, $sql);
  $row = mysqli_fetch_assoc($result);
  if (mysqli_num_rows($result) > 0) {
    $text = events( $FromUserName,$ToUserName, "key_" . $row["R_reply"]);
  } else {
    $text = events( $FromUserName,$ToUserName, "key_" . getrs("select * from SL_event where E_title like '未匹配到关键词'","E_id"));
  }
  return $text;
}
function gz($FromUserName, $ToUserName) {
  global $conn, $D_domain, $C_ico;
  $sql2 = "Select * from SL_slide order by S_id desc limit 1";
  $result2 = mysqli_query($conn, $sql2);
  $row2 = mysqli_fetch_assoc($result2);
  if (mysqli_num_rows($result2) > 0) {
    $S_pic = $row2["S_pic"];
  }
  $sql2 = "select count(*) as U_count from SL_menu where U_sub=0";
  $result2 = mysqli_query($conn, $sql2);
  $row2 = mysqli_fetch_assoc($result2);
  $U_count = $row2["U_count"];
  if ($U_count > 8) {
    $U_count = 8;
  }
  $gz = "<xml>
  <ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
  <FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
  <CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
  <MsgType>news</MsgType>
  <ArticleCount>" . $U_count . "</ArticleCount>
  <Articles>";
  $gz = $gz . "<item>
  <Title>欢迎关注" . lang($C_webtitle) . "</Title>
  <Description>" . lang($C_webtitle) . "</Description>
  <PicUrl><![CDATA[http://" . $D_domain . "/" . $S_pic . "]]></PicUrl>
  <Url><![CDATA[http://" . $D_domain . "]]></Url>
  </item>";
  $sql2 = "select * from SL_menu where U_sub=0 and not U_type='index' order by U_order limit " . ($U_count - 1) . "";
  $result2 = mysqli_query($conn, $sql2);
  if (mysqli_num_rows($result2) > 0) {
    while ($row2 = mysqli_fetch_assoc($result2)) {
      if ($row2["U_type"] != "sub" && $row2["U_type"] != "link") {
        $link = "wap_index.php?type=" . $row2["U_type"] . "&S_id=" . $row2["U_typeid"];
      } else {
        $link = $row2["U_link"];
      }
      $gz = $gz . "<item><Title>" . lang($row2["U_title"]) . "/" . lang($row2["U_entitle"]) . "</Title><Description>" . lang($row2["U_title"]) . "/" . lang($row2["U_entitle"]) . "</Description><PicUrl><![CDATA[http://" . $D_domain . "/" . $C_ico . "]]></PicUrl><Url><![CDATA[http://" . $D_domain . "/" . $link . "]]></Url></item>";
    }
    $gz = $gz . "</Articles><FuncFlag>1</FuncFlag></xml>";
  }
  return $gz;
}
?>

以上所述是小编给大家介绍的PHP微商城代码详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php下实现农历日历的代码
Mar 07 PHP
php 常用类整理
Dec 23 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP比你想象的好得多
Nov 27 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
PHP简单验证码功能机制实例详解
Mar 27 #PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
Mar 27 #PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 #PHP
PHP判断是否微信访问的方法示例
Mar 27 #PHP
PHP中localeconv()函数的用法
Mar 26 #PHP
PHP实现的支付宝支付功能示例
Mar 26 #PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 #PHP
You might like
一个php作的文本留言本的例子(五)
2006/10/09 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
JavaScript小技巧 2.5 则
2010/09/12 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
详解jQuery中的事件
2016/12/14 Javascript
js实现登录验证码
2016/12/22 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
对python产生随机的二维数组实例详解
2018/12/13 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
Python 互换字典的键值对实例
2019/02/12 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
python time()的实例用法
2020/11/03 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
高中毕业的自我鉴定
2013/12/09 职场文书
成绩单家长评语大全
2014/04/16 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
个人简历自荐信
2014/06/26 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
2014年班务工作总结
2014/12/02 职场文书
安全教育片观后感
2015/06/17 职场文书
运动会5000米加油稿
2015/07/21 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书