織夢(mèng)會(huì)員簽到增加積分/金幣的功能,非插件,安全無(wú)毒,需手動(dòng)修改文件。
畢竟來(lái)路不明的插件也不敢亂用
  • 一、在頁(yè)面中引入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>,贈(zèng)送積分!
  • 三、新增系統(tǒng)變量,用來(lái)設(shè)置簽到所得積分的數(shù)量
  1. 變量名稱填:cfg_sign_time
  2. 變量類型:數(shù)字
  3. 參數(shù)說(shuō)明:會(huì)員簽到積分
  4. 所屬組:會(huì)員設(shè)置
  5. 變量值:50
點(diǎn)擊保存變量即可(變量值50表示簽到增加10積分),如下圖
  • 四、在會(huì)員(member)目錄新建一個(gè)php文件,命名為ajax_sign.php,文件內(nèi)容如下
(注意:把代碼中的【分隔符】替換為#@,把全角字符‘替換成半角字符'因?yàn)槲覀兊木庉嬈鲿?huì)過(guò)濾掉,只能這樣寫了)
<?php
 
if( $_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)前登錄會(huì)員的ID
 
$time = time();//獲取當(dāng)前的時(shí)間戳
 
$uid = isset($uid) ? (int) $uid : '';
 
//$cfg_sign_time = "10";//如果忽略了本文的第三個(gè)步驟,可以用這行代碼直接指定簽到+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)簽到,休息一下,明天再來(lái)吧!';
 
        }
 
    } else {
 
        echo '錯(cuò)誤!';
 
    }
 
}
 
?>
據(jù)庫(kù)中新增一個(gè)字段,用來(lái)儲(chǔ)存會(huì)員簽到的時(shí)間,找到數(shù)據(jù)庫(kù)中的dede_member表(dede_是你的表前綴,請(qǐng)自行替換)
新增字段:signtime
  1. 類型為:int
  2. 長(zhǎng)度值:10
  3. 保存即可。
也可以在織夢(mèng)后臺(tái)執(zhí)行sql語(yǔ)句新增字段
系統(tǒng) >> SQL命令行工具 >> 執(zhí)行下面的sql語(yǔ)句
alter table dede_member add signtime int(10)
注意:dede_member是官方默認(rèn)的數(shù)據(jù)表,如果你的程序更改了數(shù)據(jù)表前綴,那么就需要把 dede_ 進(jìn)行替換
如圖