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 相关文章推荐
留言板翻页的实现详解
Oct 09 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
fgetcvs在linux的问题
Jan 15 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
php实现自动生成验证码的实例讲解
Nov 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 echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
js传值 判断
2006/10/26 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
审计工作个人的自我评价
2013/12/25 职场文书
医院实习接收函
2014/01/12 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
承诺书的格式范文
2014/03/28 职场文书
清明节演讲稿
2014/05/27 职场文书
爬山的活动方案
2014/08/16 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
女性励志书籍推荐
2019/08/19 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
利用JavaScript写一个简单计算器
2021/11/27 Javascript