这篇文章主要为大家详细介绍了使用PHP+layui实现每日签到及提醒功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
每日签到的功能,供大家参考,具体内容如下
首次签到获得1个积分,第二次签到获得2个积分,第三次签到获得3个积分,以此类推但是签到必须每天连续积分才可以递增,如果有中断再次签到时获得积分仍然从1开始递增;
效果图如下:
数据库设计:
————————————————————主机:127.0.0.1–服务器版本:5.5.53-MySQLCommunityServer(GPL)–服务器操作系统:Win32–HeidiSQL版本:9.3.0.4984———————————————————-/*!40101SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;/*!40101SETNAMESutf8mb4*/;/*!40014SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0*/;/*!40101SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='NO_AUTO_VALUE_ON_ZERO'*/;–导出sg的数据库结构CREATEDATABASEIFNOTEXISTS`sg`/*!40100DEFAULTCHARACTERSETutf8*/;USE`sg`;–导出表sg.user结构CREATETABLEIFNOTEXISTS`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(50)NOTNULL,`count`int(11)NOTNULL,`point`int(11)NOTNULL,`sign_time`datetimeNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=4DEFAULTCHARSET=utf8;–正在导出表sg.user的数据:0rows/*!40000ALTERTABLE`user`DISABLEKEYS*/;INSERTIGNOREINTO`user`(`id`,`username`,`count`,`point`,`sign_time`)VALUES(1,'1',3,3,'2018-12-0315:19:26'),(2,'2',2,2,'2018-12-0315:03:38'),(3,'3',1,1,'2018-12-0315:56:38');/*!40000ALTERTABLE`user`ENABLEKEYS*/;/*!40101SETSQL_MODE=IFNULL(@OLD_SQL_MODE,'')*/;/*!40014SETFOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKSISNULL,1,@OLD_FOREIGN_KEY_CHECKS)*/;/*!40101SETCHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
引入jquery和layui
PS:注意需要先下载layui并使用layui.all.js
<scriptsrc="https://cdn.bootcss.com/jquery/1.12.0/jquery.min.js"></script><scriptsrc="./layui/layui.all.js"charset="utf-8"></script><linkrel="stylesheet"href="./layui/css/layui.css"media="all">
index.html前端
页面布局<怎么好看看自己需要了,我只是简单的写了一个>
<center><inputtype="text"name="username"><button>签到</button></br><spanid='span'></span><div><tableid="box"border="1"></table></div></center>
ajax:
$(function(){$('button').click(function(){varusername=$(':text').val();$.ajax({type:'post',url:'admin.php',data:{username:username},dataType:'json',success:function(res){if(res.success==1){layer.alert(res.info,{icon:1,title:"提示"});varstr='<tr><td>用户名</td><td>连续签到天数</td><td>总积分</td></tr>';str+='<tr><td>'+res.msg.username+'</td><td>'+res.msg.count+'</td><td>'+res.msg.point+'</td></tr>';$('#box').html(str);}}})});})
admin.php
<?phperror_reporting(0);header("content-type:text/html;charset=utf-8");date_default_timezone_set('PRC');$dsn='mysql:host=localhost;dbname=sg';$pdo=newPDO($dsn,'root','123456');$pdo->exec('setnamesutf8');$username=$_POST['username'];$sqlQuery="select*fromuserwhereusername='$username'";$row=$pdo->query($sqlQuery)->fetch(PDO::FETCH_ASSOC);if($row){$sign_time=$row['sign_time'];$sign_time=strtotime($sign_time);//echo$sign_time;$int=date('Y-m-d');//echo$int;$int=strtotime($int);$ints=$int+86400;$int_s=$int-86400;//当天已签到if($int<$sign_time&&$sign_time<$ints){$infor="今天您已经签过到了,请明天再来!";//echo'您已签到';}//昨天未签到,积分,天数在签到修改为1if($sign_time<$int_s){$count=1;$point=1;$sign_time=date('Y-m-dH:s:i');$sqlRow="updateusersetcount='$count',point='$point',sign_time='$sign_time'whereusername='$username'";$res=$pdo->exec($sqlRow);//echo'签到成功修改为1';}//请签到if($int_s<$sign_time&&$sign_time<$int){$count=$row['count']+1;$point=$row['point']+1;$sign_time=date('Y-m-dH:s:i');$sqlupdate="updateusersetcount='$count',point='$point',sign_time='$sign_time'whereusername='$username'";$res=$pdo->exec($sqlupdate);$infor="签到成功!";//echo'签到成功+1';}}else{$count=1;$point=1;$sign_time=date('Y-m-dH:s:i');$sqlAdd="insertintouservalues(null,'$username','$count','$point','$sign_time')";$res=$pdo->exec($sqlAdd);$infor="签到成功!请记得再来哦!";//echo'恭喜你签到成功—-1';}//////////////////////响应$sqlEnd="select*fromuserwhereusername='$username'";$info=$pdo->query($sqlEnd)->fetch(PDO::FETCH_ASSOC);echojson_encode(array('success'=>1,'info'=>$infor,'msg'=>$info));die;?>
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/32161.html;