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基础知识:类与对象(5) static
Dec 13 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
Zend Framework分发器用法示例
Dec 11 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 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中static,const与define的使用区别
2013/06/18 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
js定时器实例分享
2016/12/20 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
Django 框架模型操作入门教程
2019/11/05 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
如何真正的了解python装饰器
2020/08/14 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
Shell如何接收变量输入
2016/08/06 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
政协调研汇报材料
2014/08/15 职场文书
西湖英语导游词
2015/02/06 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
工作后的感想
2015/08/07 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js