2013-01-11 22 views
0

我使用笨,我結合jQuery的。 我的問題是,我有一個不同的錨點標籤的菜單。 被點擊的錨標記時,將IFRAME SRC改變, 但是當我點擊菜單項我想,如果他在,這樣我也可以把我的網頁註銷登錄檢查會議。JavaScript是否獲得一次值?

了var登錄服務器作爲檢查的定點值。不幸的是,當我在一個新的標籤離開大師佈局打開註銷,因爲它然後單擊其他菜單項,登錄仍具有1的值意味着真LOGGED_IN。我想請求這種方法的幫助。

$(document).ready(function(){ 

     $('a').click(function(event) { 

      var logged = "<?php echo $this->session->userdata('logged_in'); ?>"; 
      alert(logged); 

      if(logged == 1) 
       $("#frame").attr("src", $(this).attr("id"));  
      else 
       window.location.replace("https://www.facebook.com"); 
     }); 
+1

什麼是這樣的結果:<?PHP回聲$這 - >會話級>用戶數據( 'LOGGED_IN'); ?> – Jai

+0

如果你看一下生成的頁面在瀏覽器中使用瀏覽/源(PHP創建了頁面後,瀏覽器看到的),你的回答將是一個更加清晰和你現在怎麼調查這種自己問題下次。 – jfriend00

回答

0

是的,php是超文本預處理器,這意味着服務器在js在您的頁面上激活之前處理數據。所以,一旦「記錄」設置爲true,它將一直保留,直到您重新加載頁面。

你需要使用AJAX來使你的腳本工作。這裏調用一個Ajax函數調用:

 var logged = get_session_via_ajax_function(); 
    alert(logged); 
    get_session_via_ajax_function(){....your ajax code here...} 

「get_session_via_ajax_function()」是不是一個真正的功能,只是爲了給你一個想法。

0
$(document).ready(function(){ 

     $('a').click(function(event) { 

      var logged =0;  
      $.ajax({ 
        type: "post", 
        url: baseurl+"get_seesion_details", 
        async:false, 
        success: function(data, status){ 
          logged = data; 
        } 
      }); 

      if(logged == 1) 
       $("#frame").attr("src", $(this).attr("id"));  
      else 
       window.location.replace("https://www.facebook.com"); 
     }); 
}); 

在笨

function get_seesion_detail(){ 

    $is_logged = $this->session->userdata('logged_in'); 
    echo $is_logged; 

}