这篇文章主要介绍了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微商城代码详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程学习网网站的支持!
沃梦达教程
本文标题为:PHP微商城开源代码实例
基础教程推荐
猜你喜欢
- 使用PHP开发留言板功能 2023-03-13
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- PHP中的错误及其处理机制 2023-06-04
- PHP命名空间简单用法示例 2022-12-01
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19