1、創(chuàng)建數(shù)據(jù)表和添加字段
在文章表jtb_articlt 中添加:鎖定文章字段 jtb_alock(0為鎖定,1為不鎖定);鎖定文章所需積分?jǐn)?shù)字段 jtb_abuy。
創(chuàng)建購買文章記錄表jtb_article_buy 字段為:id:id,文章id:jtb_auid,文章標(biāo)題:jtb_atopic,積分?jǐn)?shù):jtb_abuy,購買時間:jtb_atime,會員名:jtb_ausername,剩余積分:jtb_aintegral。
用戶表jtb_ubase 主要字段 用戶積分:jtb_uintegral 。
積分動向表 jtb_sys_integral 。
2、在article\common\incfiles\manage_config.inc.php的
adddisp節(jié)點(diǎn)添加
" . ii_cfname('lock') . ",
" . ii_cfname('buy') . "
" . ii_get_num($_POST['lock']) . ",
" . ii_get_num($_POST['buy']) . ",
editdisp節(jié)點(diǎn)添加
" . ii_cfname('lock') . "=" . ii_get_num($_POST['lock']) . ",
" . ii_cfname('buy') . "=" . ii_get_num($_POST['buy']) . ",
然后在article\common\template\manage.jtbc下的
add節(jié)點(diǎn)添加
<tr>
<td height="25">{$=ii_itake('config.lock','lng')}</td>
<td>{$=mm_sel_yesno('lock',1)}</td>
</tr>
<tr>
<td height="25">{$=ii_itake('config.buy','lng')}</td>
<td><input type="text" name="buy" size="5"></td>
</tr>
edit節(jié)點(diǎn)添加
<tr>
<td height="25">{$=ii_itake('config.lock','lng')}</td>
<td>{$=mm_sel_yesno('lock',{$lock})}</td>
</tr>
<tr>
<td height="25">{$=ii_itake('config.buy','lng')}</td>
<td><input type="text" name="buy" size="5" value="{$buy}"></td>
</tr>
最后在 article\common\lanauage\config.jtbc下添加
<item>
<disinfo><![CDATA[lock]]></disinfo>
<chinese><![CDATA[開放文章]]></chinese>
</item>
<item>
<disinfo><![CDATA[buy]]></disinfo>
<chinese><![CDATA[積分?jǐn)?shù)]]></chinese>
</item>
第二步到這里就ok了!下面一步是最重要的!
3、在article\common\incfiles\module.inc.php文件下
function pp_module_detail($genre, $id, $page)
{
global $conn;
global $ndatabase, $nidfield, $nfpre;
$tsqlstr = "select * from $ndatabase where " . ii_cfname('hidden') . "=0 and $nidfield=$id";
$trs = ii_conn_query($tsqlstr, $conn);
$trs = ii_conn_fetch_array($trs);
if ($trs)
{
date_default_timezone_set(PRC); //設(shè)置時差
//設(shè)置了權(quán)限限制的文章
if($trs[ii_cfname('lock')] ==0)
{
//print_r($_SESSION);
//判斷是否登錄
$aa=$_SESSION['jtb_cms_username'];
if(!$aa){
$bb="<script> alert('這篇文章需要登錄才能閱讀,您還沒有登錄!');
var r=confirm(' 登錄 或 注冊 \\n \(親,注冊我們的會員是免費(fèi)的噢!\)');
if (r==true){
window.location.href='http://www.golfhunter.com.cn/passport/?type=login?';
}else{
close();
}</script>";
echo $bb=iconv('gb2312','utf-8',$bb);
//Header('Location: http://www.golfhunter.com.cn/passport/?type=login');
}
//已登入的 else
{
$tsqlstr = "select * from jtb_article_buy where jtb_auid=$trs[0] and jtb_ausername='$aa'";
$tra = ii_conn_query($tsqlstr, $conn);
$tra = ii_conn_fetch_array($tra);
//判斷是否購買過該片文章
if(!$tra)
{
$abc="<script>alert('這篇文檔需要扣除".$trs[jtb_abuy]." 積分才能訪問');
var r=confirm('您確定要購買這篇文章嗎?');
if (r==true){
alert('購買過的文章,不會重復(fù)扣您的積分的,現(xiàn)在進(jìn)入購買流程!');
}else{
alert('高爾夫達(dá)人網(wǎng)祝您生活愉快');
close();
}</script>";
echo $abc=iconv('gb2312','utf-8',$abc);
$tsqlstr = "select * from jtb_ubase where jtb_uusername='$aa'";
$trb = ii_conn_query($tsqlstr, $conn);
$trb= ii_conn_fetch_array($trb);
//如果積分為空或者小于需要扣除的積分?jǐn)?shù)不能查看該文章
if($trb[jtb_uintegral]=='' || $trs[jtb_abuy]> $trb[jtb_uintegral])
{
$moremsg = "這篇文檔需要 <font color='red'>".$trs[jtb_abuy]." 積分</font> 才能訪問,你目前擁有積分:
<font color='red'>".$trb[jtb_uintegral]." 分</font> !";
return $moremsg =iconv('gb2312','utf-8',$moremsg);
}
else
{ //否則就更新用戶表中的積分
$mysqlstr ="UPDATE jtb_ubase SET jtb_uintegral = jtb_uintegral-$trs[jtb_abuy] where jtb_uusername='$aa' ";
$trc = ii_conn_query($mysqlstr, $conn);
$trc = ii_conn_fetch_array($trc);
if(!$trc)
{
$date = date("Y-m-d H:i:s",time());
$date1 = date("Ymd",time());
$tsqlstr = "select * from jtb_ubase where jtb_uusername='$aa'";
$trd = ii_conn_query($tsqlstr, $conn);
$trd= ii_conn_fetch_array($trd);
//購買成功寫入數(shù)據(jù)到購買文章記錄表,防止重復(fù)扣積分。 $tsqlstr ="insert into jtb_article_buy (`jtb_auid`,`jtb_atopic`,`jtb_abuy`,`jtb_atime`,`jtb_ausername`,`jtb_aintegral`) VALUES ('$trs[0]','$trs[jtb_atopic]','$trs[jtb_abuy]','$date','$aa','$trd[jtb_uintegral]')";
@ii_conn_query($tsqlstr, $conn);
$abc="<script>alert('購買成功,已從您帳戶扣除".$trs[jtb_abuy]."積分,您現(xiàn)在可以正常閱讀該文章了!');</script>";
echo $abc =iconv('gb2312','utf-8',$abc);
//die($trb[jtb_uintegral]);
//購買成功寫入數(shù)據(jù)到積分動向表,讓老百姓消費(fèi)的明明白白的!
$tsqlstr="insert into jtb_sys_integral (jtb_siintegral,jtb_sinintegral,jtb_siitype,jtb_siusername,jtb_siday,jtb_sitime) values ('-$trs[jtb_abuy]','$trd[jtb_uintegral]','117','$aa','$date1','$date')";
ii_conn_query($tsqlstr, $conn);
//die($tsqlstr);
/*******************購買成功,顯示該文章內(nèi)容**********************/
} }
}else {
/*******************已購買過的文章,顯示該文章內(nèi)容**********************/
} }
} else{
/********** 未鎖定的文章 ,顯示該文章內(nèi)容**********/
} } }
然后添上細(xì)節(jié)!就大功告成了!,真實(shí)故事!