PHP论坛实现积分系统的思路代码详解

首先在用户表定义一个积分字段;

然后创建一个等级表,主要字段有等级名,上限积分和下限积分;

再根据用户的行为进行积分累加;

最后根据判断用户积分在哪个等级范围,从而得出用户等级。

用户表

CREATE TABLE `bbs`.`user`(
 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '用户id',
 `avatar` VARCHAR(255) NOT NULL comment '头像',
 `nickname` VARCHAR(60) NOT NULL comment '昵称',
 `username` VARCHAR(16) NOT NULL comment '用户名',
 `password` CHAR(32) NOT NULL comment '密码',
 `points` INT(10) NOT NULL DEFAULT '0' comment '积分',
 PRIMARY KEY(`id`)
) ENGINE = MYISAM;

等级表

CREATE TABLE `bbs`.`level`(
 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '等级id',
 `name` VARCHAR(60) NOT NULL comment '等级名',
 `max_points` INT(10) UNSIGNED NOT NULL comment '积分上限',
 `min_points` INT(10) UNSIGNED NOT NULL comment '积分下限',
 PRIMARY KEY(`id`)
) ENGINE = MYISAM;

ps:下面看下thinkphp删除图片的方法实现

使用场景:

新头像替换旧的头像

步骤:

1. 读取数据库头像的URL地址

2. 获取URL地址的有效字段

3. file文件路径设置

4. 删除图片文件

Thinkphp 代码如下:

<?php
public function delPic(){
  //获取用户id
  $uid = input('uid');
  if(!$uid){
    $this->error('uid未获取');
  }
  //获取url
  $img = M('member')->where('uid',$uid);
  $url = $img->avatar; //$url = 'http://www.test.com/up/avatar/59b25bcfcaac6.jpg'
  if(!$url){
    $this->error('获取头像失败');
  }
  //获取url有效字段(去掉网址)
  $str = parse_url($url)['path'].parse_url($url)['query'];//$str = '/up/avatar/59b25bcfcaac6.jpg'
  //file文件路径
  $filename = '.'.$str;
  //删除
  if(file_exists($filename)){
    unlink($filename);
    $info = '原头像删除成功';
  }else{
    $info = '未找到原头像'.$filename;
  }
  echo $info;
}

总结

到此这篇关于PHP论坛实现积分系统的思路代码详解的文章就介绍到这了,更多相关php论坛积分系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • php中通过curl模拟登陆discuz论坛的实现代码

    libcurl同时也支持HTTPS认证.HTTP POST.HTTP PUT. FTP 上传(这个也能通过PHP的FTP扩展完成).HTTP 基于表单的上传.代理.cookies和用户名+密码的认证. php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码. 复制代码 代码如下: <?php $discuz_url = 'http://127.0.0.1/discuz/';//论坛地址 $login_url = $discuz_url

  • [php] 我的微型论坛的简单教程[已完成]第1/8页

    一直做ASP的我,最近开始学PHP了.第一个作品就是这个微型论坛(也可以叫做留言本),虽然没啥技术含量,但是想起04年刚来的经典论坛学ASP时,起步困难,所以想把我近来学PHP的一点心得写出来,希望给和我一样学习PHP的朋友一点参考,能让初学者走的弯子少一点,顺利点.也算我为论坛做的一点贡献吧.(其实说这是教程我心虚的很,主要我也是初学者,代码写的菜,希望有经验者能给予指点). 最好手边能有一本PHP基础的书,我用的书一本是人民邮电的<精通PHP+MYSQL应用开发>(很多人都反映它不怎么样)

  • php基于登陆时间判断实现一天多次登录只积分一次功能示例

    本文实例讲述了php基于登陆时间判断实现一天多次登录只积分一次功能.分享给大家供大家参考,具体如下: 在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能 实现这个功能我在数据表里面增加了一个字段logintime,表示最后一次的登录时间,然后使用一天中的零时零分零秒和上一次的登录时间进行比较,如果上一次的登录时间大于了这个时间点表示已经登陆过,如果上一次的登录时间小于了这个时间点,则表示第一次登录,增加积分 上代码: // 判断是否是一天中第一次登录 //

  • php通过curl模拟登陆DZ论坛

    libcurl同时也支持HTTPS认证.HTTP POST.HTTP PUT. FTP 上传(这个也能通过PHP的FTP扩展完成).HTTP 基于表单的上传.代理.cookies和用户名+密码的认证. <?php $discuz_url = 'http://www.jb51.net/';//论坛地址 $login_url = $discuz_url .'login.php?action=login';//登录页地址 $post_fields = array(); //以下两项不需要修改 $pos

  • PHP积分兑换接口实例

    本文实例讲述了PHP积分兑换接口的实现方法.分享给大家供大家参考.具体实现方法如下: exchange.php接口内容如下: 复制代码 代码如下: <?php    /*session_start(); if(!isset($_SESSION['zaszh_user_id'])){     echo json_encode(array('status'=>'error','msg'=>'连接超时,请重新打开页面.'));     exit; } $user_id = $_SESSION[

  • PHP著名开源论坛:Discuz!跨站大全

    在discuz!的发贴.回贴.PM等中的subject都没有经过过滤,所以也可以添加代码. 例如 http://xxx/post.php?action=newthread&fid=2...cript%3E%3Cb%22 效果是首先弹出自己的cookie 利用方法:把上述代码放置到img中. 适用版本:discuz!2.x discuz!3.x 一种利用discuz!2.0漏洞进行欺骗获得cookie的尝试 通过测试XXXFan论坛的PM功能存在一个安全漏洞,具体描述如下: XXXFan的给某个会

  • 使用PHPMyAdmin修复论坛数据库的图文方法

    1.登录 phpMyAdmin,进入 phpMyAdmin 数据列表页面:2.选择一个数据表前的方框:3.页面下方"选中项"下拉选择"修复表":

  • PHP论坛实现积分系统的思路代码详解

    首先在用户表定义一个积分字段: 然后创建一个等级表,主要字段有等级名,上限积分和下限积分: 再根据用户的行为进行积分累加: 最后根据判断用户积分在哪个等级范围,从而得出用户等级. 用户表 CREATE TABLE `bbs`.`user`( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '用户id', `avatar` VARCHAR(255) NOT NULL comment '头像', `nickname` VARCHAR(60)

  • Python脚本实现监听服务器的思路代码详解

    开前准备 Schedule使用方法. 基本的Linux操作 Python3环境 Step1 首先我得先假设你会了如何每十五分钟去运行一次检查这件事情.(后期我会补上如何去做定时任务,相信我!) 代码量比较少,选择在Linux环境下直接写脚本. import os #使用os的popen执行bash命令 content=os.popen("lsof -i:8080").read() 输出一下content看看,就是命令行执行输出的内容,看关键词webcache,但是输出的已经是文本文件了

  • 使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解

    下面通过实例代码给大家介绍js扫码枪扫描条形码的实现方法,具体代码如下所示: var keycode = ""; var lastTime=null,nextTime; var lastCode=null,nextCode; document.οnkeydοwn=function(e){ if(window.event){ // IE nextCode = e.keyCode } else if(e.which){ // Netscape/Firefox/Opera nextCode

  • springboot整合websocket实现群聊思路代码详解

    实现思路 发送者向服务器发送大家早上好.其它客户端可以收到对应消息. 项目展示 通过springboot引入websocket,实现群聊,通过在线websocket测试进行展示. 核心代码 pom引入jar <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2

  • element 中 el-menu 组件的无限极循环思路代码详解

    实现思路主要组件嵌套(组件自己调用自己) 下面是组件所需要的数据 { "code": 1, "data": { "menuVoList": [ { "childList": [ { "childList": [], "menu": { "createBy": "0-1", "createTime": 1587610158, &q

  • 微信小程序首页的分类功能和搜索功能的实现思路及代码详解

    就在昨天,微信宣布了微信小程序开发者工具新增"云开发"功能 下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代! 分类功能和搜素功能的效果图 1.首页分类功能的实现 boxtwo方法(.js文件) boxtwo: function (e) { var index = parseInt(e.currentTarget.dataset.index) this.setData({ HomeIndex: index }) }, 当在首页点击 分类导航时,会触发这个方法,并传回当前点击

  • 使用Go基于WebSocket构建千万级视频直播弹幕系统的代码详解

    (1)业务复杂度介绍 开门见山,假设一个直播间同时500W人在线,那么1秒钟1000条弹幕,那么弹幕系统的推送频率就是: 500W * 1000条/秒=50亿条/秒 ,想想B站2019跨年晚会那次弹幕系统得是多么的NB,况且一个大型网站不可能只有一个直播间! 使用Go做WebSocket开发无非就是三种情况: 使用Go原生自带的库,也就是 golang.org/x/net ,但是这个官方库真是出了奇Bug多 使用GitHub大佬 gorilla/websocket 库,可以结合到某些Web开发框

  • Java动态代理(设计模式)代码详解

    基础:需要具备面向对象设计思想,多态的思想,反射的思想: Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架.通过阅读本文,读者将会对Java动态代理机制有更加深入的理解.本文首先从Java动态代理的运行机制和特点出发,对其代码进行了分析,推演了动态生成类的内部实现. 代理模

  • Django中的Signal代码详解

    本文研究的主要是Django开发中的signal 的相关内容,具体如下. 前言 在web开发中, 你可能会遇到下面这种场景: 在用户完成某个操作后, 自动去执行一些后续的操作. 譬如用户完成修改密码后, 你要发送一份确认邮件. 当然可以把逻辑写在一起,但是有个问题是,触发操作一般不止一种(如用户更改了其它信息的确认邮件),这时候这个逻辑会需要写多次,所以你可能会想着DRY(Don't repeat yourself),于是你把它写到了一个函数中,每次调用.当然这是没问题的. 但是, 如果你换个思

  • Java多线程之线程通信生产者消费者模式及等待唤醒机制代码详解

    前言 前面的例子都是多个线程在做相同的操作,比如4个线程都对共享数据做tickets–操作.大多情况下,程序中需要不同的线程做不同的事,比如一个线程对共享变量做tickets++操作,另一个线程对共享变量做tickets–操作,这就是大名鼎鼎的生产者和消费者模式. 正文 一,生产者-消费者模式也是多线程 生产者和消费者模式也是多线程的范例.所以其编程需要遵循多线程的规矩. 首先,既然是多线程,就必然要使用同步.上回说到,synchronized关键字在修饰函数的时候,使用的是"this"

随机推荐