PHP微商城开源代码实例
时间:2022-07-27
本文章向大家介绍PHP微商城开源代码实例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了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微商城代码详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!
- 高性能IO模型浅析
- 关于梯度下降算法的的一些总结
- Hadoop集群搭建总结及Hadoop2.5集群伪分布、完全分布搭建总结
- 【提高篇】Go语言并发技术详解
- 【提高篇】GO语言标准错误处理机制error用法实例
- 【Golang语言社区】H5游戏开发-从零开始开发一款H5小游戏(四) 撞击吧粒子,炫酷技能的实现
- 机器学习实践:用 Spark 和 DBSCAN 对地理定位数据进行聚类
- 【Golang语言社区】H5游戏开发从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命
- 【H5游戏实例】JS+canvas实现人机大战之五子棋
- Go包管理的探索与实践
- 机器学习优化算法之爬山算法小结
- 机器学习之最小二乘法
- Go中的同步与锁
- 机器学习之KNN算法思想及其实现
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Kubernetes 环境的 Tensorflow Serving on S3
- 数据处理|数据框重铸
- Go mod 常见问题(持续更新)
- R In Action|创建数据集
- R语言进阶之生存分析
- R In Action |基本数据管理
- R|apply,tapply
- python中的基本运算
- 助力联邦——Pulsar在Angel PowerFL联邦学习平台中的应用
- 让数据跃然“图”上!腾讯位置服务数据可视化API正式发布
- 腾讯云 Serverless 衔接 Kafka 上下游数据流转实战
- Tensorflow 测试一段能运行在 GPU 的代码
- Tensorflow on HDFS 的实践
- MPI on Kubernetes
- Tensorflow Serving模型指向s3地址,Could not find base path?