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 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
tp5.1 实现setInc字段自动加1
Oct 18 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 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 404错误页面实现代码
2009/06/22 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
Position属性之relative用法
2015/12/14 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
Python使用re模块实现信息筛选的方法
2018/04/29 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
python实现大文本文件分割
2019/07/22 Python
python带参数打包exe及调用方式
2019/12/21 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
上海期货面试题
2014/01/31 面试题
explicit和implicit的含义
2012/11/15 面试题
公益广告宣传方案
2014/02/28 职场文书
家庭经济困难证明
2015/06/23 职场文书
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python