如何用JS或PHP只加载一次函数?

时间:2018-04-01 16:34:19

标签: javascript php

我这几个小时一直在做一些研究而没有任何成功。我将解释我的情况,希望你能以某种方式帮助我。

我正在为我的大学制作一个项目,在我的网站上我使用本地服务器上的数据库使用PHP管理员,PHP编码js函数和html/css。我的问题是,当我加载“仪表板站点”时,我想从bootstrap中弹出一个模态,这是一个完成第二阶段注册的表单,我用它来弹出:

<script type="text/javascript">
$(window).on('load',function(){
    $('#exampleModal3').modal('show');
});  
</script>

我尝试使用"include_once" PHP函数,或者使用JS使用一些技巧:if(!stuffdone){doSomething ... stuffdone=true;},但它不起作用,当我加载仪表板时弹出窗口再次出现而我无法使用它只显示一次。我的想法是让它在用户第一次登录时只出现一次,然后它就不再出现了,相反,它将是一个改变用户数据的按钮,它将调用模态弹出窗口。也很抱歉我的英语很糟糕。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试使用localstorage来获取注册模式。但是你必须将它存储在db中并在php中编写一个检查用户注册进度的函数。并记住localstorage只是该特定浏览器的客户端。像这样的伪代码:

var hasRegged = localstorage.getItem('hasreg');
function checkReg(){
    if (hasRegged===null){
        $('#exampleModal3').modal('show');
        localstorage.setItem('hasreg','1');
    }
}

$(window).on('load',function(){
    checkReg();
});  
$(document).on('click','.finishedregbutton', function(){
//Save the clickdata to db
});

您也可以使用ajax执行此操作:

function checkReg(){
 $.ajax({
  "url":"regcheck.php",
  "data":"uuid=<?php echo $_SESSION['uuid'];?>",
  "type":"POST",
  "dataType":"JSON",
  "success": function(data){
     if(data.status=='completed'){
         $('#exampleModal3').modal('show');
     }
 });
}

$(window).on('load',function(){
    checkReg();
});  
相关问题