我不知道该说些什么,但是,我有一个带有会话变量的横幅,如果该会话变量已设置且值为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>
每次重新加载页面时,都会取消设置会话变量。 任何帮助..
答案 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']); ?>