影子互联

专注深圳网站建设

php版jtbc详情页添加密码访问和会员访问实现方法

时间:2016-09-14 11:09:55,点击:0

php版jtbc详情页添加密码访问和会员访问实现方法

 

 1.添加后台管理功能

打开 baike/common/template/manage.jtbc

1.1找到add节点

在代码

                    <tr>

                      <td height="25">{$=ii_itake('global.lng_config.good','lng')}</td>

                      <td>{$=mm_sel_yesno('good',0)}</td>

                    </tr>

下面添加代码

                    <tr>

                      <td height="25">{$=ii_itake('global.lng_config.good','lng')}</td>

                      <td>{$=mm_sel_yesno('good',0)}</td>

                    </tr>

 

1.2找到edit节点

在代码

                    <tr>

                      <td height="25">{$=ii_itake('global.lng_config.good','lng')}</td>

                      <td>{$=mm_sel_yesno('good',{$good})}</td>

                    </tr>

下面添加代码

                    <tr>

                      <td width="80" height="25">{$=ii_itake('global.lng_config.pwd','lng')}</td>

                      <td width="*"><input type="text" id="pwd" name="pwd" size="30" value="{$pwd}">

长度:<input name="len" size="2" value="6">位

<input value="生成" type="button" href="javascript:;" onclick="getRandomPwd();"> 

<input value="清除" type="button" href="javascript:;" onclick="getClearPwd();"> </td>

                    </tr>

1.3找到list节点

在代码

                      <td width="100">{$=ii_itake('global.lng_config.sort','lng')}</td>

下面添加代码

                      <td width="150">{$=ii_itake('global.lng_config.pwd','lng')}</td>

在代码

                      <td><a href="?classid={$classid}">{$sort}</a></td>

下面添加代码

                      <td>{$pwd}</td>

2.添加语言文件

打开/common/language/lng_config.jtbc

添加以下代码

    <item>

      <disinfo><![CDATA[pwd]]></disinfo>

      <chinese><![CDATA[访问密码]]></chinese>

    </item>

3.打开/common/images/js/main.js文件

在底部添加以下代码

function getRandomPwd()
{
  var len = parseInt(form.len.value);
	var ucv = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var lcv = 'abcdefghijklmnopqrstuvwxyz';
	var nv = '0123456789';
	var scv = '!@#$%&*()<>/?';
	//var scv = '!@#$%&*()+=-<>/?';
	var char = [];
	char.push(ucv);
	char.push(lcv);
	char.push(scv);
	char.push(nv);
	if(len < 4 || len > 36){ var len=4; }
	var password = '';
	var j = 0;
	var clen = char.length;
	var start = random(0, clen);
	var salt = '';
	for(;len--;){
		salt = char[start % clen];
		j = random(0, salt.length);
		password += salt.charAt(j);
		start ++;
	}
	//rpwd.password.value = password;
    $("#pwd").val(password);  
}
function random (l,u){
		return (Math.floor(Math.random() * (u - l)) + l);
}
	function getClearPwd()
{
    $("#pwd").val('');  
}
同时,后台头部模板需引入jq.

4.后台写入数据库修改

打开/baike/common/incfiles/manage_config.inc.php

4.1找到function jtbc_cms_admin_manage_adddisp()函数

把代码

   " . ii_cfname('good') . "

修改成(注意最后一行不加逗号)

    " . ii_cfname('good') . ",

    " . ii_cfname('pwd') . "

 

把代码

   " . ii_get_num($_POST['good']) . "

修改成(注意最后一行不加逗号)

    " . ii_get_num($_POST['good']) . ",

    '" . ii_left(ii_cstr($_POST['pwd']), 150) . "'

4.2找到function jtbc_cms_admin_manage_editdisp()函数

把代码

    " . ii_cfname('good') . "=" . ii_get_num($_POST['good']) . "

修改成(注意最后一行不加逗号)

    " . ii_cfname('good') . "=" . ii_get_num($_POST['good']) . ",

    " . ii_cfname('pwd') . "='" . ii_left(ii_cstr($_POST['pwd']), 150) . "'

4.3找到function jtbc_cms_admin_manage_list()函数

在代码

      $tmptstr = str_replace('{$id}', ii_get_num($trs[$nidfield]), $tmptstr);

下面添加代码

      $tmptstr = str_replace('{$pwd}', $trs[ii_cfname('pwd')], $tmptstr);

5.模块首页文件index.php修改

打开baike/index.php文件

修改成

<?php

require('../common/incfiles/common.inc.php');

require('../' . USER_FOLDER . '/common/api/user.inc.php');//add

require('common/incfiles/config.inc.php');

require('common/incfiles/module_config.inc.php');

require('../expansion/tags/common/api/tags_module.inc.php');

ap_user_init();//add

$myhtml = jtbc_cms_module();

echo $myhtml;

?>

 

6.详情页密码访问实现

6.1打开baike/common/incfiles/module_config.inc.php文件

找到function jtbc_cms_module_detail()函数

开头修改成

  global $conn, $ngenre, $nusername;

  //global $conn, $ngenre;

  $tutype = ap_get_userinfo('utype', $nusername);//获取登录用户的会员级别

 

在代码

  $trs = ii_conn_fetch_array($trs);

下面添加代码

  $tpwd = $trs[ii_cfname('pwd')];//获取数据库中的密码

  $cpwd = $_COOKIE[APP_NAME .'detail']['pwd_'.$tid];//获取详情页cookie密码

  if (!empty($_COOKIE[APP_NAME .'user']['username'])){$utype = $tutype;}//获取登录用户的会员级别

  if (!empty($cpwd) and $cpwd == $tpwd ){$fpwd = $cpwd;}else{$fpwd = $_POST['pwd'];}//是否存在cookie,且文章密码未更新过,赋值获取输入的密码

把代码

$tmpstr = ii_itake('module.detail', 'tpl');

替换成以下代码

if ($tpwd <> '')//是否设置密码

  {

    if ($utype > 0 and $utype <> '')//判断会员级别 0为注册会员

          {

            $tmpstr = jtbc_global_itake_module('detail');

            //$tmpstr = ii_itake('module.detail', 'tpl');

         }else{

            if ($fpwd == $tpwd and $fpwd <> '')

                {

                 if(empty($cpwd) || $cpwd <> $tpwd){setrawcookie(APP_NAME .'detail[pwd_'. $tid .']');setrawcookie(APP_NAME .'detail[pwd_'. $tid .']',$fpwd,time()+24*3600);}//无cookie或文章密码更新时写入cookie,有效期1天

                 $tmpstr = jtbc_global_itake_module('detail');

                //$tmpstr = ii_itake('module.detail', 'tpl');

                }

            else{

                $tmpstr = jtbc_global_itake_module('pwd_detail');

    //$tmpstr = ii_itake('module.pwd_detail', 'tpl');

                }

        }

  }else{

        $tmpstr = jtbc_global_itake_module('detail');

       //$tmpstr = ii_itake('module.detail', 'tpl');

  }

 

在代码

    $tmpstr = str_replace('{$id}', $trs[$nidfield], $tmpstr);

下面添加代码

    $tmpstr = str_replace('{$tpwd}', $tpwd, $tmpstr);

    $tmpstr = str_replace('{$fpwd}', $fpwd, $tmpstr);

    $tmpstr = str_replace('{$cpwd}', $cpwd, $tmpstr);

    $tmpstr = str_replace('{$utype}', $utype, $tmpstr);

 6.2添加相应模板

在模块中添加密码访问模板

pwd_detail

{$=mm_web_head($GLOBALS['nhead'])}

<section>

<div class="detail_con">

<h1>{$topic}</h1>

<div style="width:100%;margin:100px auto;text-align:center">

<form name="form" method="post" action="?type=detail&id={$id}">

{$=ii_itake('global.lng_config.pwd','lng')}: <input type="text" class="text" name="pwd" size="40">

<input class="button" type="submit" name="submit" value="{$=ii_itake('global.lng_config.submit','lng')}" class="button">

</form>

<div style="margin:10px auto;">认证会员请<a href="/passport/?type=login" target="_blank">登录</a>后,再刷新本页查看</div>

</div>

</section>

 {$=mm_web_foot($GLOBALS['nfoot'])}

 

 7.数据库中请添加pwd字段,以保存密码字段.