WeMall WeChat モールのソース コード イベント登録プラグイン コードの詳細
WeMall微信商城源码插件活动报名代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考,商家可自由设置报名项目,活动时间,报名内容
WeMall微信商城源码插件活动报名代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考,商家可自由设置报名项目,活动时间,报名内容
代码详情地址:http://addon.wemallshop.com/Product/addonList/menu_id/1 或 www.wemallshop.com
AdminController.class<?php<br />
<br />
namespace Addons\Apply\Controller;<br />
<br />
class AdminController extends InitController<br />
{<br />
<br />
public function __construct()<br />
{<br />
parent::__construct();<br />
}<br />
<br />
public function index()<br />
{<br />
$config = M("AddonApplyConfig")->find();<br>
$this->assign("config", $config);<br>
<br>
$record = D('Addons://Apply/AddonApplyRecord'); // 实例化User对象<br>
$count = $record->count();// 查询满足要求的总记录数<br>
$Page = new \Think\Page($count, 12);// 实例化分页类 传入总记录数和每页显示的记录数(25)<br>
$Page->setConfig('theme', "<div class='widget-content padded text-center'><ul class='pagination'></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a> %HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页</a></ul></div>");<br>
$show = $Page->show();// 出力をページに表示します<br>
// ページング データ クエリを実行します。limit メソッドのパラメーターは Page クラスの属性を使用する必要があることに注意してください<br>
$record = $record->limit($Page->firstRow . ',' . $Page->listRows)->order("id desc")->relation(true)->select( );<br>
<br>
$this->assign("record", $record);//代入データセット<br>
$this->assign('page', $show);// 割り当てのページング出力<br>
<br>
$this->display();<br>
}<br>
<br>
パブリック関数 addConfig()<br>
{<br>
$event = $_POST["イベント"];<br>
// $event = str_replace('"', "", $event);<br>
// $event = str_replace('[', "", $event);<br>
//$event = str_replace(']', "", $event);<br>
// $event = json_encode(explode(",", $event), JSON_UNESCAPED_UNICODE);<br>
<br>
$_POST["イベント"] = $event;<br>
M("AddonApplyConfig")->where(array("id" =>"1"))->save($_POST);<br>
$this->success('変更成功', 'Admin/Admin/index/addon/Apply');<br>
<br>
}<br>
}
IndexController.class<?php<br />
<br />
<br />
名前空間AddonsApplyController;<br />
<br />
クラス IndexController は InitController を拡張します<br />
{<br />
パブリック $appUrl = "";<br />
パブリック関数 __construct()<br />
{<br />
親::__construct();<br />
$this->appUrl = "http://" .I("server.HTTP_HOST");<br>
}<br>
<br>
<br>
パブリック関数index()<br>
{<br>
$user = R("App/Public/oauthLogin");<br>
// $this->assign("user",$user);<br>
<br>
<br>
$config = M("AddonApplyConfig")->where(array("status" => 1))->find();<br>
// print_r(explode(',',$config["event"]));<br>
$this->assign("イベント",explode(',',$config["イベント"]));<br>
$this->assign("config", $config);<br>
<br>
$contact = M("連絡先")->where(array("user_id" => $user["id"]))->find();<br>
if ($contact) {<br>
$this->assign("contact", $contact);<br>
}<br>
<br>
M("AddonApplyConfig")->where(array("id" => 1))->setInc("visiter");<br>
<br>
$this->assign('user', $user);// 割り当てページング出力<br>
$this->display();<br>
}<br>
<br>
パブリック関数 addConfig()<br>
{<br> M("AddonApplyConfig")->where(array("id" => "1"))->save($_POST);<br>
}<br>
<br>
パブリック関数addOrder()<br>
{<br>
<br>
<br>
$userHas = M("AddonApplyContact")->where(array("user_id" => session("userId")))->find();<br>
<br>
if ($userHas) {<br>
$contact ["id"] = $userHas ["id"];<br>
$contact ["user_id"] = session("userId");<br>
$contact ["名前"] = $_POST ["名前"];<br>
$contact ["住所"] = $_POST ["住所"];<br>
M("AddonApplyContact")->save($contact);<br>
} else {<br>
$contact ["user_id"] = session("userId");<br>
$contact ["名前"] = $_POST ["名前"];<br>
$contact ["city"] = "";<br>
$contact ["エリア"] = "";<br>
$contact ["住所"] = $_POST ["住所"];<br>
M("AddonApplyContact")->add($contact);<br>
}<br>
$userHas = M("AddonApplyContact")->where(array("user_id" => session("userId")))->find();<br>
$contact_id = $userHas["id"];<br>
<br>
$config = M("AddonApplyConfig")->find();<br>
<br>
$data ["user_id"] = session("userId");<br>
$data ["contact_id"] = $contact_id;<br>
$data ["名前"] = $_POST ["名前"];<br>
$data ["電話"] = $_POST ["電話"];<br>
$data ["メモ"] = $_POST ["メモ"];<br>
$data ["イベント"] = $_POST["イベント"];<br>
$data ["time"] = date("Y-m-d H:i:s");<br>
$result = M("AddonApplyRecord")->add($data);<br>
<br>
M("AddonApplyConfig")->where(array("id" => 1))->setInc("apply");<br>
if ($result) {<br>
$this->ajaxReturn($result);<br>
}<br>
}<br>
<br>
<br>
}
Index_index<!DOCTYPE html><br>
<html lang="zh-cn"><br>
<頭><br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><br>
<meta charset="utf-8"><br>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><br>
<title>{$config.name}</title><br>
<meta name="format-detection" content="telephone=no, address=no"><br>
<meta name="apple-mobile-web-app-capable" content="yes"><br>
<!-- apple devices fullscreen --><br>
<meta name="apple-touch-fullscreen" content="yes"><br>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><br>
<link href="__CSS__/bootstrap.min.css" rel="stylesheet"><br>
<link href="__CSS__/font-awesome.min.css" rel="stylesheet"><br>
<link href="__CSS__/animate.css" rel="stylesheet"><br>
<link href="__CSS__/common.css" rel="stylesheet"><br>
<link href="__CSS__/sign.css" rel="stylesheet"><br>
<br>
<script type="text/javascript" src="__JS__/jquery.min.js"></script><br>
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script><br>
<br>
<style type="text/css"><br>
#page_tag_load {<br>
display: none;<br>
font-size: 14px;<br>
position: fixed;<br>
bottom: 70px;<br>
height: 16px;<br>
margin-left: -29px;<br>
left: 50%<br>
}<br>
</style><br>
</head><br>
<body><br>
<div class="container container-fill"><br>
<div class="pcenter-main"><br>
<div class="head"><br>
<div class="pdetail"><br>
<div class="img-circle"><img src="{$user.avater}"></div><br>
<div class="pull-left"><br>
<span class="name">{$user.username}</span><br>
<span class="type">会员ID: {$user.id}</span><br>
</div><br>
</div><br>
<div class="head-nav"><br>
<a class="head-nav-list"<br />
href="">累计报名<span>{$config.apply}</span></a><br>
<a class="head-nav-list"<br />
href="">访问量<span>{$config.visiter}</span></a><br>
</div><br>
</div><br>
</div><br>
<div class="scroll-container"><br>
<div class="wrapper"><br>
<ul class="list-group"><br>
<li class="list-group-item" style="padding: 0px 0px;border-bottom: 1px solid #ccc;"><br>
<div class="con"><br>
<div class="list-hd"><br>
<h5>项目:</h5><span>{$config.event}</span><br>
</div><br>
</div><br>
</li><br>
<li class="list-group-item" style="padding: 1px 0px;border-bottom: 1px solid #ccc;"><br>
<div class="con"><br>
<div class="list-hd"><br>
<h5>时间:</h5><span>{$config.time_range}</span><br>
</div><br>
</div><br>
</li><br>
<li class="list-group-item" style="padding: 0px;"><br>
<div class="con"><br>
<div class="list-hd"><br>
<h5>项目介绍:</h5><span>{$config.introduce}</span><br>
</div><br>
</div><br>
</li><br>
</ul><br>
</div><br>
</div><br>
<ul class="nav nav-bardown nav-justified" style="z-index:10;"><br>
<li><a><span class="btn btn-default" style="border-radius: 50px;padding: 11.5px 30px;" onclick="submitApply();">点击报名</span></a></li><br>
</ul><br>
<br>
<div id="page_tag_load"><img src="__IMG__/ajax-loader.gif" alt="loader"></div><br>
<br>
<div id="cover2" style="display: none; position: fixed; width: 100%; height: 100%;"></div><br>
<div class="tc_c2" id="join_box"<br />
style="left: 0px; bottom: 0px; z-index: 3000; position: fixed; display: none;width: 100%;"><br>
<div class="join_box_Xq_out" style="max-height: 641px;"><br>
<div class="tc_c_close"><br>
<div><img title="关闭" onclick="hidePop(this);" ontouchstart="" src="__IMG__/share_qr_close3.png"></div><br>
</div><br>
<div class="join_box_Xq"><br>
<ul id="ul_join_property" class="pop_massage"><br>
<li><br>
<div class="optionsName">姓名</div><br>
<div class="inpoutK"><br>
<input value="{$contact.name}" type="text" class="font0" name="name" id="name"><br>
</div><br>
</li><br>
<li><br>
<div class="optionsName">手机</div><br>
<div class="inpoutK"><br>
<input value="{$contact.phone}" type="text" class="font0" name="phone" id="phone"><br>
</div><br>
</li><br>
<li><br>
<div class="optionsName">地址</div><br>
<div class="inpoutK"><br>
<input value="{$contact.address}" type="text" class="font0" name="address" id="address"><br>
</div><br>
</li><br>
<li><br>
<div class="optionsName">项目</div><br>
<div class="inpoutK"><br>
<!--<input value="{$contact.address}" type="text" class="font0" name="address" id="address">--><br>
<select name="event" style="width: 98%;" id="event"><br>
<volist name="event" id="event"><br>
<option value="{$event}">{$event}</option><br>
</volist><br>
</select><br>
</div><br>
</li><br>
<li><br>
<div class="optionsName">备注</div><br>
<div class="inpoutK"><br>
<input value="" type="text" class="font0" name="note" id="note"><br>
</div><br>
</li><br>
</ul><br>
</div><br>
<br>
<div class="tc_c_btn2" ontouchstart="" id="xdBtn"><br>
<a title="返回" class="fanHui" href="javascript:void(0);" ontouchstart="" onclick="_joinBox._prev()"<br />
style="display: none;"></a><br>
<br>
<div class="join_Btn"><br>
<input id="input_submit" class="blueBtn" type="submit" value="我要报名"<br />
style="display: none; width: 100%;"><br>
<a style="width: 100%;" id="a_submit" class="blueBtn font02" href="javascript:void(0);"<br />
onclick="submitOrder()">提交</a><br>
</div><br>
</div><br>
<br>
</div><br>
</div><br>
</div><br>
<スクリプトタイプ="text/javascript"><br>
関数 submitApply(){<br>
$('#cover2').show();<br>
$('#join_box').show();<br>
}<br>
関数 HidePop(){<br>
$("#join_box").hide();<br>
$("#cover2").hide();<br>
}<br>
var submitFlag = true;<br>
関数 submitOrder(){<br>
If (submitFlag == false) {<br>
alert("操作を繰り返さないでください!");<br>
戻る;<br>
};<br>
var name = $('#name').val();<br>
varphone = $('#phone').val();<br>
var イベント = $('#event').val();<br>
var note = $('#note').val();<br>
var address = $('#address').val();<br>
<br>
<br>
If (name.length == 0 || Phone.length == 0) {<br>
alert(「入力内容をご確認ください!」);<br>
戻る;<br>
};<br>
submitFlag = false;<br>
<br>
$.ajax({<br>
タイプ: 「投稿」<br>
URL: "{:u_addons('Apply://Index/addOrder')}",<br>
データ: {<br>
名前: 名前、<br>
電話: 電話、<br>
イベント: イベント、<br>
注: 注、<br>
住所: 住所<br>
}、<br>
成功: 関数 (データ) {<br>
If(データ){<br>
HidePop();<br>
alert("登録成功!");<br>
location.reload();<br>
}<br>
}、<br>
beforeSend: function () {<br>
$('#page_tag_load').show();<br>
}、<br>
完了: function () {<br>
$('#page_tag_load').hide();<br>
送信フラグ = true <br>
}<br>
<br>});<br>
}<br>
</スクリプト><br>
</body><br>
</html>
KoaHub.js -- Koa.js プラットフォームに基づく Node.js Web 高速開発フレームワーク
公式サイト:http://js.koahub.com

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
