会话麻烦

时间:2013-09-28 15:18:24

标签: php session

在我的网站上,我有一个动画,我只想在首次访问网站时播放一次。所以我设置了一个会话来检查用户是否第一次访问。以下是我的代码:

if(!isset($_SESSION["playedit"]))
session_start();

if(isset($_SESSION["playedit"]))
$_SESSION["playedit"] = false;
else
$_SESSION["playedit"] = true;



<?php if($_SESSION["playedit"]){?>
  //play animation

<?php } ?>

它正在开发IE,但对于firefox和chrome,动画总是播放两次。我不知道发生了什么事。这里的网站是:ryandang.com。我希望标题动画只播放一次

通过播放两次,我的意思是当用户转到另一个页面时,它再次播放

哦,它也适用于我的本地机器。它只是在主机服务器上不起作用。你认为它与主机服务器有关吗?

EDIT1: 这是我刚刚发现的问题,如果我使用ryandang.com/games或ryandang.com/works等链接访问我的网站,它只播放一次。但是,如果我使用ryandang.com进入我的index.php页面,该页面有1行代码标题('Location:aboutme');它会玩两次!

1 个答案:

答案 0 :(得分:1)

您需要在每个页面中执行session_start()。这不应该取决于另一个变量的存在。所以删除第一行。

现在,将代码简化为:

session_start();

<?php if(isset($_SESSION["playedit"])==false){?>
   $_SESSION["playedit"] = 'something';
  //play animation

<?php } ?>