發(fā)表日期:2017-12 文章編輯:小燈 瀏覽次數(shù):3474
本文講解了織夢會員簽到增加積分/金幣的功能,非插件,安全無毒,需手動修改文件。畢竟來路不明的插件也不敢亂用,廢話不多說,開整...
一、在頁面中引入ajax代碼:
<script language="javascript">function ajax_sign() {$.ajax({type: "POST",url: "/member/ajax_sign.php",success: function(data) {alert(data);}});}</script> |
二、在需要簽到按鈕的地方增加:
每天<span onclick="ajax_sign();" style="cursor:pointer;">[簽到]</span>,贈送積分! |
三、新增系統(tǒng)變量,用來設(shè)置簽到所得積分的數(shù)量
變量名稱填:cfg_sign_time
變量類型:數(shù)字
參數(shù)說明:會員簽到積分
所屬組:會員設(shè)置
變量值:10
點(diǎn)擊保存變量即可(變量值10表示簽到增加10積分),如下圖所示
四、在會員(member)目錄新建一個php文件,命名為ajax_sign.php,文件內(nèi)容如下(注意:把代碼中的【分隔符】替換為#@)
<?phpif( $_SERVER['HTTP_REFERER'] == "" )//判斷規(guī)則,禁止直接運(yùn)行此php文件{header("HTTP/1.1 404 Not Found");header("Status: 404 Not Found");exit;};require_once dirname(__FILE__) . '/config.php';$uid = $cfg_ml->M_ID;//獲取當(dāng)前登錄會員的ID$time = time();//獲取當(dāng)前的時間戳$uid = isset($uid) ? (int) $uid : '';//$cfg_sign_time = "10";//如果忽略了本文的第三個步驟,可以用這行代碼直接指定簽到+10積分AjaxHead();if (!empty($uid)) {$sql = "SELECT * FROM 【分隔符】__member WHERE `mid`='{$uid}' LIMIT 1";$dsql->Execute('me', $sql);$arr = $dsql->GetArray('me');if ($arr) {$signdate = date('Y-m-d', $arr['signtime']);if ($signdate < date('Y-m-d')) {$dsql->ExecuteNoneQuery("UPDATE `【分隔符】__member` SET `scores`=`scores`+ $cfg_sign_time , `signtime`='" . time() . "' WHERE `mid`='{$uid}' LIMIT 1");echo '簽到成功!增加 '.$cfg_sign_time.' 積分';} else {echo '今天已經(jīng)簽到,休息一下,明天再來吧!';}} else {echo '錯誤!';}} |
五、在數(shù)據(jù)庫中新增一個字段,用來儲存會員簽到的時間,找到數(shù)據(jù)庫中的dede_member表(dede_是你的表前綴,請自行替換)
新增字段:signtime
類型為:int
長度值:10
保存即可。
如果你的服務(wù)器沒有安裝數(shù)據(jù)庫管理軟件,也可以在織夢后臺執(zhí)行sql語句新增字段
系統(tǒng) >> SQL命令行工具 >> 執(zhí)行下面的sql語句
alter table dede_member add signtime int(10) |
注意:dede_member是官方默認(rèn)的數(shù)據(jù)表,如果你的程序更改了數(shù)據(jù)表前綴,那么就需要把 dede_ 進(jìn)行替換
執(zhí)行成功后如下