积分系统

// A code block
CREATE TABLE `integral` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `integral_num` int(4) DEFAULT NULL COMMENT '加分数',
  `u_id` int(11) DEFAULT NULL,
  `info` varchar(255) DEFAULT NULL,
  `record` enum('2','1') DEFAULT NULL COMMENT '1增加  2扣除',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `total_num` int(4) DEFAULT NULL COMMENT '总积分',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4;
// A code block
CREATE TABLE `sign` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `created` varchar(255) DEFAULT NULL COMMENT '签到时间 如2020/2/1 表示2020/2月1日',
  `u_id` int(10) DEFAULT NULL,
  `cont_num` tinyint(4) NOT NULL DEFAULT '0' COMMENT '签到总次数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

// A code block
CREATE TABLE `user` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) DEFAULT NULL,
  `pwd` char(32) DEFAULT NULL,
  `nk_name` varchar(60) DEFAULT NULL,
  `stu` tinyint(1) DEFAULT '1',
  `create_time` datetime DEFAULT NULL,
  `img` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `phone` char(15) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;

控制器

// lxtp\application\album\controller\ Integralc.php
<?php

namespace app\album\controller;

use app\album\model\Albumm;
use app\album\model\Integralm;
use app\album\model\Photomodel;
use app\common\Alyunoss;
use app\test\model\Ksmodel;
use think\Controller;
use think\facade\Session;
use think\Request;

class Integralc extends Controller
{
   

    /**
     * 显示资源列表
     *
     * @return \think\Response.
     */
    public function index(Request $request)
    {
   
//        //判断是否登录 防止非法请求
//        if (empty(Session::get('name'.$request->u_id))){
   
//            return redirect('/loginuser');
//        }

        $inte=new Integralm();

        if (!empty($request->city)){
   

            $where['u_id']=$request->u_id;
            $arr = Session::get('name' . $where['u_id']);

            $where['record']=$request->city;

            $data=$inte->where($where)->paginate(1,false,['query'=>request()->param()]);
            $list=Integralm::where('u_id', $where['u_id'] )->order('id', 'desc')->limit(1)->all();
            foreach($list as $key=>$user){
   
                //将总积分增加50分
              $num=$user->total_num;
            }
        }else{
   
            $a = $request->a;
            $arr = Session::get('name' . $a);
            $data=$inte->where('u_id',$a)->paginate(1);
            $list=Integralm::where('u_id', $a )->order('id', 'desc')->limit(1)->all();
            foreach($list as $key=>$user){
   
                //将总积分增加50分
                $num=$user->total_num;
            }
        }

        return view('user/loginuser',['data'=>$data,'user'=>$arr,'num'=>$num]);
    }




}


控制器

// lxtp\application\album\controller\ Userc.php
<?php

namespace app\album\controller;

use app\album\model\Integralm;
use app\album\model\Signm;
use app\album\model\Userm;
use app\api\model\User;
use app\common\Alyunoss;
use think\captcha\Captcha;
use think\Controller;
use think\facade\Session;
use think\facade\Validate;
use think\Request;

class Userc extends Controller
{
   
    /**
     * 登录
     *
     * @return \think\Response
     */
    public function index(Request $request)
    {
   
        $rule = [
            'name'  => 'require|max:25|token',
            'pwd'=>'require'
        ];

        $msg = [
            'name.require' => '账号不能为空',
            'pwd.require'  =>  '密码不能为空',

        ];
        //图片验证
        $value=$request->code;
        $captcha = new Captcha();
        if( !$captcha->check($value))
        {
   
            $this->error('你的验证码有误');
        }
        $data=$request->param();
        $validate   = Validate::make($rule,$msg);
        $result = $validate->check($data);

        if(!$result) {
   

            $this->error($validate->getError());

        }
        $arr = \think\facade\Request::only(['name','pwd']);
        $user=new Userm();
        $re=$user->where($arr)->find();

        if ($re){
   
            $arrintegral['u_id']=$re->id;

            //本次操作积分
            $arrintegral['integral_num']=50;

            $integral=new Integralm();
            //获取最后一次用户积分数据
            $list=Integralm::where('u_id',  $arrintegral['u_id'])->order('id', 'desc')->limit(1)->all();
            foreach($list as $key=>$user){
   
                //将总积分增加50分
                $arrintegral['total_num']=$user->total_num+50;
            }

            //增加还是减少
            $arrintegral['record']=1;

            //具体行为
            $arrintegral['info']="登录成功赠送50积分";
            //将积分入库操作
            $integral->save($arrintegral);

            //登录成功session存用户信息
            Session::set('name'.$arrintegral['u_id'],$re);
           return redirect('/list',['a'=>$arrintegral['u_id']]);
        }

    }



    /**
     * 注册
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
   
        $rule = [
            'name'  => 'require|max:25|token|unique:user',//验证字段在数据表中时唯一的
            'email' => 'email',
            'pwd'=>'require|confirm'//验证两次密码是否一致
        ];

        $msg = [
            'name.require' => '账号不能为空',
            'name.unique' => '账号有人使用',
            'name.max'     => '账号最多不能超过25个字符',
            'email'        => '邮箱格式错误',
            'pwd.require'  =>  '密码不能为空',
            'pwd.confirm'  =>  '密码两次不一致',

        ];
        //图片验证
        $value=$request->code;
        $captcha = new Captcha();
        if( !$captcha->check($value))
        {
   
            $this->error('你的验证码有误');
        }
        //字段验证
        $data=$request->param();
        $validate   = Validate::make($rule,$msg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PHP评委打分系统是一种基于PHP编程语言开发的用于评委打分的系统。这个系统主要用于评委对参赛作品进行打分和评价,以便于确定获奖者。 该系统由多个评委组成,每个评委通过登录系统后可以看到参赛作品列表。评委可以点击进入具体某个参赛作品的页面,了解作品的详情和相关说明。在评分页面上,评委可以看到对应作品的评分表单。 评委可以根据自己的判断和经验对作品进行打分。一般来说,评分表单会包括多个指标,如创意、技术实现、设计等,并且每个指标都有对应的分值。评委可以根据自己对作品的理解和要求,对每个指标进行打分,并将打分结果提交保存。 在评分过程中,系统会计算每个作品的平均分,以便于比较不同作品之间的得分情况。评分结束后,系统会根据评委的打分结果计算每个作品的总分,并按照总分的高低来确定获奖作品。 该系统还可以提供其他功能,如查看作品的评论和评价。评委和其他用户可以在评论区留下对作品的评价和建议,以促进参赛者的学习和改进。 PHP评委打分系统对于评委打分过程的规范化和便捷化起到了很大的作用。它提供了一个可视化的评分界面,让评委能够方便地进行打分并保存评分结果。同时,系统的自动计算和统计功能,使得评分过程更加准确和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值