网站建设资讯

NEWS

网站建设资讯

php签到数据库设计 php打卡签到系统

请问下那个PHP每日签到时怎么实现的!

以淘宝网领取淘金币的签到系统为例:

创新互联建站专注于企业成都全网营销推广、网站重做改版、成华网站定制设计、自适应品牌网站建设、HTML5建站成都商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为成华等各大城市提供网站开发制作服务。

目标:

第一天签到增加5个积分;第二天连续签到则增加8个积分;第三天连续签到,增加11个积分,第四天连续签到,增加15个积分;第五天连续签到,增加19个积分;第六天连续签到,增加24个积分;第七天连续签到,增加29个积分;第八天以后的连续签到,都增加29个积分。连续签到断开,则积分从第一天开始计算。

思路:

这个比较简单,思路是这样的:

在用户表里添加一个连续登录的字段,如果每天连续登录自增1,如果超过24小时的话就直接归0.

再增加一个最后登录的时间,格式是时间戳的。

首先判断最后登录的时间和现在的时间的时间差值是多少,函数如下:

?php

function checkTime() {

if (time() - 最后登录时间 24*60*60 ) { // 判断时间是否大于24小时

// 让字段归0

}

}

?

这个样子就可以了。

至于加分就简单了。

如果字段值为:

1就加5,

2就加8,

3就加11,

4就加15,

5就加19,

6就加24,

大于7就加29

php mysql 日历式签到 怎么做

给你个思路,代码实现并不难。首先在你的用户表中插入一个字段,用来保存签到的时间戳,用户点击签到时,先从数据库中取这个时间戳,与今天0点的时间戳进行比较,如果比今天0点的时间戳小,就说明今天没有签到,那么更新这个字段为现在的时间戳。如果比今天0点的时间戳大,就说明今天已经签到过了,不做更改。

你可能会用到:

mktime 函数,这个函数是构筑时间戳的,它的参数可以从右向左依次省略。省略的参数将会默认为本地时间。如:mktime(0,0,0) 这样就取到了今天0点的时间戳。

time 函数,取当前时间的时间戳,这个函数没有任何参数。

用thinkphp 制作一个像百度知道的签到功能怎么弄啊。要求:点击签到。显示签到成功,经验加10

什么是thinkphp啊?

要是php代码的话

就假设建个数据库,主键是用户名,一项是经验值,一项是时间

点击签到,用get传给一个php页面一个值,php获取之后,用select where 查找到cookie中的用户名,找到对应的经验值,先获取一次付给变量,再加上10用update语句更改数据库内容,并更改时间为最新次签到时间

然后再看显示签到那页,可以先用个php查找对应cookie的时间项 ,并与当前时间对比(这个看你咋设置了,是按24点过了就能在签到还是过了24小时在下一次签到),显示签到或已签到(已签到不赋予功能)

基本思路就这样了,但不是最优化,比如那个显示签到已签到,还要遍历一次数据库,如果数据库数据量很大,遍历很浪费时间,也可以放到另一个php里去实现查询是否可签

希望能有帮助


分享文章:php签到数据库设计 php打卡签到系统
转载注明:http://cdweb.net/article/hgjisg.html