我的 PHP 页面内的正文标记中有以下脚本:
<script type="text/javascript">
function goNext()
{
<?php
if(isset($_SESSION['current']))
{
?>
window.location="step2.php";
<?php
}
else
{
?>
alert('Please select one item to continue.');
<?php
}
?>
}
</script>
我正在 PHP 中设置可用的 session 。 因此,当我单击页面上的链接时, session 就会被设置。 之后,当我调用这个函数时,它仍然会转到警报。
如果我刷新页面,它会跳过警报并转发到函数中提到的 URL。
知道为什么当我没有刷新页面时,它没有转到该 URL 吗?
<小时/>更新
<小时/>我已经在页面开头设置了 Session_start。 session 设置正确,因为当我刷新时,我可以看到它正在工作。 第三,我已经使用 AJAX 来设置 session ,而无需进行页面刷新。 屏幕上还有其他元素可以响应 session 更改并且它们正在工作。 只有这个函数“isset”函数没有检测到 session 。
最佳答案
为什么不直接用标题来简化它呢?
<?
if(isset($_SESSION['current'])) {header("location: step2.php"); exit;}
?>
关于php - Javascript 函数和 PHP session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7608334/