duanli3277
2014-04-01 12:52
浏览 52
已采纳

是否可以防止页面加载时加载php代码? [重复]

This question already has an answer here:

i dont know what to say but, i have a banner with a session variable, if that session variable is set and have a value 1 then i have displayed that banner. i also have a button to hide that banner and i have called a javascript function onclick that button.

so i have created a simple javascript function and added some php code with php tag to unset the session variable. I can also use ajax to unset the session variable. but i was thinking to do that with that function why to do ajax call.

i have some code:

<?php if($_SESSION['SHOW_BANNER']==1){ ?>

     <div id="banner">Banner goes here</div>
     <button  onclick="hideit()">Hide</button>

<?php } ?>

Here is jquery function:

<script>
   function hideit()
   {   
       <?php unset($_SESSION['SHOW_BANNER']); ?> 
       $("#banner").hide();
   }
</script>

Each time when i reload the page, the session variable is unset. Any Help..

</div>
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanbi7204 2014-04-01 13:17
    已采纳

    You can't execute PHP code directly from JavaScript. PHP code is executed when page is rendering on server side, and if you have syntax like:

    function hideit()
    {   
       <?php unset($_SESSION['SHOW_BANNER']); ?> 
       $("#banner").hide();
    }
    

    It executes every time unset when page is loaded and result of this code is returned to JavaScript. Only way to unset session variable is to execute code on server side, you can do this with simply ajax call.

    function hideit()
    { 
        $("#banner").hide();
        $.get("hideBanner.php");
    }
    

    And in hideBanner.php just execute

    <?php unset($_SESSION['SHOW_BANNER']); ?>
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题