Php 使用Ajax设置会话变量

Php 使用Ajax设置会话变量,php,ajax,codeigniter,jquery,Php,Ajax,Codeigniter,Jquery,我有一个弹出式表单,用户提供一个访问页面的键。一旦用户提供了正确的密钥,我想将密钥放入会话变量中,只要会话处于活动状态,如果用户刷新页面,弹出窗口就不会出现。我试过的是 我的JQuery <script> $(document).ready(function() { $('#submit').click(function(e) { var key = $('#downloadkey').val(); var box_id = $('#box_i

我有一个弹出式表单,用户提供一个访问页面的键。一旦用户提供了正确的密钥,我想将密钥放入会话变量中,只要会话处于活动状态,如果用户刷新页面,弹出窗口就不会出现。我试过的是

我的JQuery

<script>
$(document).ready(function() {
    $('#submit').click(function(e) {
        var key = $('#downloadkey').val();
        var box_id = $('#box_id').val();
        var dataString = {KEY:key, BID:box_id};
        $.ajax({
            url: "/mediabox/home/validate_key",
            type: 'POST',
            data: dataString,
            success: function(msg) {
                if(msg=="false"){
                   alert("Your download key is either wrong or you didn't provide it");
                }
                else{
                    $('#popupContact').hide();
                    $('#backgroundPopup').hide();
                }
            }
        });
    e.preventDefault();      
    });
});
</script>
在validate_key函数中,如果用户提供的密钥与数据库中的密钥匹配,则在会话变量中设置密钥

我加载弹出窗口的脚本

if($download_key != null && !isset($_SESSION['download_key'])){?>
        <script type="text/javascript">
            $(document).ready(function(){  
                loadPopup();    
            });  
        </script>
} 
问题是,一旦我提供了正确的密钥,然后我刷新页面,它会再次加载弹出窗口 在给出正确的键后,如何防止它一次又一次地加载


提前感谢

您是否在任何地方调用了
会话\u start()
?您确定您的$download\u密钥始终包含一些值吗?是的,我确定它始终包含一个值感谢ManseUK我在错误的位置调用了会话\u start。您能为您的示例说明放置会话\u start函数的正确位置吗?
if($download_key != null && !isset($_SESSION['download_key'])){?>
        <script type="text/javascript">
            $(document).ready(function(){  
                loadPopup();    
            });  
        </script>
} 
 var popupStatus = 0; 
 //loading popup with jQuery magic!
 function loadPopup(){
 //loads popup only if it is disabled
   if(popupStatus==0){
      $("#backgroundPopup").css({
      "opacity": "0.7"
   });
   $("#backgroundPopup").fadeIn(1000);
   $("#popupContact").fadeIn(1000);
   popupStatus = 1;
 }
}