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

Javascript 如何使用JS或PHP只加载一次函数?,javascript,php,Javascript,Php,这些小时我一直在做一些研究,但没有成功。我会解释我的情况,我希望你能以某种方式帮助我 我正在为我的大学做一个项目,在我的网站上,我使用本地服务器上的数据库,其中包含PHP-my-admin、PHP-coding-js函数和html/css。我的问题是,当我加载“dashboard site”时,我想从bootstrap弹出一个模式,这是一个完成第二阶段注册的表单,我使用该弹出窗口: <script type="text/javascript"> $(window).on('load'

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

我正在为我的大学做一个项目,在我的网站上,我使用本地服务器上的数据库,其中包含PHP-my-admin、PHP-coding-js函数和
html/css
。我的问题是,当我加载“dashboard site”时,我想从bootstrap弹出一个模式,这是一个完成第二阶段注册的表单,我使用该弹出窗口:

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

$(窗口).on('load',function(){
$('exampleModal3').modal('show');
});  
我尝试过使用
“include_once”
PHP函数,或者与JS一起使用一些技巧,比如:
如果(!stufdtone){doSomething…stufdtone=true;}
,但它不起作用,当我加载仪表板时,弹出窗口再次出现,我无法让它只显示一次。我的想法是让它在用户第一次登录时只出现一次,然后它将不再出现,取而代之的是,它将是一个按钮来更改用户数据,这将调用模式弹出窗口。也对不起我的英语,太糟糕了


谢谢

您可以尝试使用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();
});  
函数checkReg(){
$.ajax({
“url”:“regcheck.php”,
“数据”:“uuid=”,
“类型”:“职位”,
“数据类型”:“JSON”,
“成功”:功能(数据){
如果(data.status=='completed'){
$('exampleModal3').modal('show');
}
});
}
$(窗口).on('load',function(){
checkReg();
});  

最好的选择是在数据库中设置列以了解第二阶段注册的状态。如果设置为1,则不显示弹出窗口,如果不显示弹出窗口。第二阶段注册完成后,将列更新为1。请注意:*请不要混淆php和jquery/javascript。一个在服务器上执行,另一个在浏览器中执行。这两个是完全分离的ate.*include_once“once”仅适用于用户正在阅读的当前页面,而不适用于用户加载的下一页。*如果希望每个会话都返回弹出窗口,请使用sassion_start()和$_session[“…]”变量。*如果您希望弹出窗口只出现一次,您需要存储cookie或数据库字段,如prasanna所说。