本文小編講解了織夢會員簽到增加積分/金幣的功能,非插件,安全無毒,需手動修改文件。
畢竟來路不明的插件也不敢亂用,廢話不多說,開整...
<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>,贈送積分!
變量名稱填:cfg_sign_time
變量類型:數字
參數說明:會員簽到積分
所屬組:會員設置
變量值:10
點擊保存變量即可(變量值10表示簽到增加10積分),如下圖所示
<?php if( $_SERVER['HTTP_REFERER'] == "" )//判斷規則,禁止直接運行此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;//獲取當前登錄會員的ID $time = time();//獲取當前的時間戳 $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 '今天已經簽到,休息一下,明天再來吧!'; } } else { echo '錯誤!'; } } ?> |
據庫中新增一個字段,用來儲存會員簽到的時間,找到數據庫中的dede_member表(dede_是你的表前綴,請自行替換)
新增字段:signtime
類型為:int
長度值:10
保存即可。
如果你的服務器沒有安裝數據庫管理軟件,也可以在織夢后臺執行sql語句新增字段
系統 >> SQL命令行工具 >> 執行下面的sql語句
alter table dede_member add signtime int(10)
注意:dede_member是官方默認的數據表,如果你的程序更改了數據表前綴,那么就需要把 dede_ 進行替換
執行成功后如下。
新聞熱點
疑難解答