Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在用户第四次访问之前向用户显示某些内容_Javascript_Php_Cookies - Fatal编程技术网

Javascript 在用户第四次访问之前向用户显示某些内容

Javascript 在用户第四次访问之前向用户显示某些内容,javascript,php,cookies,Javascript,Php,Cookies,我目前有检查cookie的工作代码,如果找到,它将不会显示HTML代码块。如果找不到,它会显示代码,然后将cookie设置为24小时后过期。这非常简单。不过,我不想详细说明,现在在24小时内的前3次访问中显示这段HTML代码。在24小时内的第四次访问中,我不想显示该代码。我开始编写javascript来检查3种不同的cookies,这对我来说太多了。我想知道是否有更简单的方法。以下是我今天的收获: <script type="text/javascript"> function ge

我目前有检查cookie的工作代码,如果找到,它将不会显示HTML代码块。如果找不到,它会显示代码,然后将cookie设置为24小时后过期。这非常简单。不过,我不想详细说明,现在在24小时内的前3次访问中显示这段HTML代码。在24小时内的第四次访问中,我不想显示该代码。我开始编写javascript来检查3种不同的cookies,这对我来说太多了。我想知道是否有更简单的方法。以下是我今天的收获:

<script type="text/javascript">
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
}
else
{
    begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
    end = dc.length;
    }
}
return unescape(dc.substring(begin + prefix.length, end));
} 
var thecookie='bd3b5cookie';
var myCookie = getCookie(thecookie) ;
if (myCookie == null) {
console.log("not found");
        //add html content here
}
else {    
console.log(" found");
//dont show html code
}
</script>

<script type = "text/javascript">
//set cookie
var now = new Date();
var time = now.getTime();
time += 3600 * 8000;
now.setTime(time);
  document.cookie = 'bd3b5cookie=ok;expires='+now.toGMTString()+';path=/';
//console.log(document.cookie);

</script>

函数getCookie(名称){
var dc=document.cookie;
变量前缀=名称+“=”;
var begin=dc.indexOf(“;”+前缀);
如果(开始==-1){
begin=dc.indexOf(前缀);
如果(begin!=0)返回null;
}
其他的
{
开始+=2;
var end=document.cookie.indexOf(“;”,begin);
如果(结束==-1){
结束=直流长度;
}
}
返回unescape(dc.substring(begin+prefix.length,end));
} 
var thecookie='bd3b5cookie';
var myCookie=getCookie(cookie);
如果(mycokie==null){
控制台日志(“未找到”);
//在此处添加html内容
}
否则{
控制台日志(“找到”);
//不显示html代码
}
//设置cookie
var now=新日期();
var time=now.getTime();
时间+=3600*8000;
现在。设置时间(time);
document.cookie='bd3b5cookie=ok;expires='+now.togmString()+';路径=/';
//console.log(document.cookie);

您可以在
用户
表中添加一个“
访问
”列,并在每次访问/登录时增加其值。然后,使用,您可以使用web服务器时间每隔24小时执行一次更新用户集访问量=0的
语句。

每次登录后,您应该增加用户访问计数器:

if last_visit_date < current_date - session_length
如果上次访问日期<当前日期-会话长度
登录柜台和上次访问日期可以在cookies中


编辑-添加代码块

在数据库中保存历史记录?与我们分享您不想使用数据库的内容。只是增加网站的负载。我只使用了基本的javascript cookie读取和存储命令。“我并没有真正开始重新编写这3个cookies。@乔伊·马丁没有代码,没有建议