thinkphp写出伪定时器的效果 || tp会员注册1年后到期自动拉黑

一 伪定时器的效果

要求:客户每天在个人中心修改自己发布文章的次数为10次,要求每天次数清零

思路:在网上找了些方法,最后还是自己试着写写看。

客户每天不一定都会上,怎么在客户登录的时候判断是否是当天第一次登录,添加两个字段post_enddaytime(存储的是最后登陆时间的当天的23:59:59,因为规定是每天零点更新,这个时间随便自己定),第二个字段为post_coun(会员修改次数),客户第一次登录时间是7月1号,修改了三次文章,那么post_enddaytime存储的是7月1号23:59:59的时间戳,post_coun=3,客户第二次登录时间为7月7号,当客户点击修改的时候,判断$time(此为当前时间日期的时间戳)是否大于post_enddaytime存储的时间戳,如果是大于的话,说明这是客户今天的第一次登录,post_enddaytime改为今天(7月7号)23:59:59的时间戳,post_coun=0;

GaimsgController.class.php

public
    function ad() {
        if ( empty( $_POST ) ) //如果$_POST空,显示添加页面,
        {
            echo '您输入的内容不能为空!';
        } else //如果$_POST不为空,走验证,验证是否成功,添加数据库    
        {
            $username = session("uname");
            $n = D( "posts" );
            $ter = D( "term_relationships" ); //此表是设置添加的文章的object_id,term_id
            $wz_id = $_POST["wz_id"];
               $ttimee = date( "Y-m-d H:i:s" );
            $ttim = strtotime( $ttimee );
//            $firstdaystr=date("Y-m-d H:i:s",1499702399);
//            var_dump($firstdaystr);
//            die();
            $thisdaystart = mktime( 0, 0, 0, date( "m" ), date( "d" ), date( "Y" ) );
            $tdayStart = mktime( 23, 59, 59, date( "m" ), date( "d" ), date( "Y" ) );
$data[ 'id' ] = $wz_id;
$data[ 'post_adm' ] = $username;
//设置定时器开始
                $enddaytime = $n->where("id='{$wz_id}'")->getField("post_enddaytime");
                if($ttim > $enddaytime)
                {
                    $dataad['id'] = $wz_id;
                    $dataad['post_coun'] = 0;
                    $dataad['post_enddaytime'] = $tdayStart;//如果当前时间$ttim>客户最后登陆修改存储的时间$enddaytime,那么字段换位今天的零点(23:59:59)
                    $n->save($dataad);
                }
                //设置定时器结束
                    $cn = $n->where("id='{$wz_id}'")->getField("post_coun");//修改次数
                    if ( $cn < 10 ) {
                        $nn = $n->save( $data );
                        session( id, $wz_id );
                        if ( $nn ) {
                            $n->where("id='{$wz_id}'")->setInc('post_coun');//thinkphp 根据文章id count +1 操作方法(setInc)
                            $post_coun = $n->where("id='{$wz_id}'")->getField("post_coun");//显示剩余修改次数
                            $cn_cs = 10 - $post_coun;//显示剩余修改次数
                            echo "剩余修改次数:[ " . $cn_cs . " ] 次 \n";//显示剩余修改次数
                            echo "您修改的信息已传送到后台。。。";
                        } else {
                            echo "修改未成功,请重新修改信息或联系客服!";//每天自动清空post_coun字段
                        }
                    } else {
                        echo "您今天修改信息的次数已用完,请明日再修改信息!";
                    }
}
View Code

二:会员注册1年后到期自动拉黑

// 登录验证提交
    public function dologin(){
        $use = M("Users");
        $username=I('post.username');
        $yh = $use->where("user_login = '{$username}'")->select();//根据用户提交的用户名搜索用户创建的时间
        $tim = $yh[0]['create_time'];//创建用户的时间
        $timec = strtotime("$tim + 1 year");//(创建用户的时间+1年)的时间戳
        $notim = strtotime('now');//现在的时间的时间戳,如果现在的时间戳大于(创建的时间+1年)的时间戳时,执行拉黑操作(user_status = 0)和友好提示,else执行正常访问
        if($notim >$timec)
        {
            $data['user_status'] = 0;
            $use->where("user_login = '{$username}'")->save($data);
            $this->error("您注册的会员已到期,请联系客服或续费使用!");
        }
        else
        {
            if(!sp_check_verify_code()){
            $this->error("验证码错误!");
            }
            $users_model=M("Users");
            $rules = array(
                    //array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
                    array('username', 'require', '手机号/邮箱/用户名不能为空!', 0 ),
                    array('password','require','密码不能为空!',0),
            );
            if($users_model->validate($rules)->create()===false){
                $this->error($users_model->getError());
            }
            $username=I('post.username');
            if(preg_match('/(^(13\d|15[^4\D]|17[13678]|18\d)\d{8}|170[^346\D]\d{7})$/', $username)){//手机号登录
                $this->_do_mobile_login();
            }else{
                $this->_do_email_login(); // 用户名或者邮箱登录
                session('uname',$username);
            }
        }
    }
View Code

 

 

___________________________________

posted on 2017-07-11 09:36  逝年-  阅读(366)  评论(0编辑  收藏  举报