是否可以防止页面加载时加载php代码?

时间:2014-04-01 12:52:29

标签: php jquery

我不知道该说些什么,但是,我有一个带有会话变量的横幅,如果该会话变量已设置且值为1,那么我已显示该横幅。我还有一个按钮来隐藏那个横幅,我已经调用了一个javascript函数onclick该按钮。

所以我创建了一个简单的javascript函数,并添加了一些带有php标签的php代码来取消设置会话变量。我也可以使用ajax取消设置会话变量。但我想用这个函数做那个为什么要做ajax调用。

我有一些代码:

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

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

<?php } ?>

这是jquery函数:

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

每次重新加载页面时,都会取消设置会话变量。 任何帮助..

1 个答案:

答案 0 :(得分:1)

您无法直接从JavaScript执行PHP代码。在页面在服务器端呈现时执行PHP代码,如果您具有以下语法:

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

每次加载页面时都会执行它,并将此代码的结果返回给JavaScript。取消设置会话变量的唯一方法是在服务器端执行代码,只需ajax调用即可完成此操作。

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

在hideBanner.php中执行

<?php unset($_SESSION['SHOW_BANNER']); ?>