2013-09-28 51 views
0

在我的網站上,我有一個動畫,我只想讓它在使用第一次訪問網站時播放一次。所以我建立了一個會話來檢查用戶是否第一次訪問。以下是我的代碼:麻煩與會話

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。我想報頭動畫只播放一次

通過玩兩次,我的意思是,當用戶轉到另一個頁面,它再次

扮演哦,也是我的本地機器上運行。它只是在主機服務器上不起作用。你認爲這與主機服務器有關嗎?

編輯1: 以下是我剛剛發現的問題,如果我通過鏈接訪問我的網站(如ryandang.com/games或ryandang.com/works),它只會播放一次。但是,如果我使用ryandang.com,它會轉到我的index.php頁面,該頁面有一行代碼頭('Location:aboutme');它會玩兩次!

回答

1

你需要在每一頁都做一個session_start()。這不應該依賴於另一個變量的存在。所以刪除第一行。

現在,簡化您的代碼如下:

session_start(); 

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

<?php } ?> 
+0

我對所有頁面的session_start。這是我的原始代碼,它繼續播放兩次,所以我試圖柚木它周圍 – byebyebyezzz

+0

奇怪的是,它在我的本地運行良好,但它並沒有;在主機服務器 – byebyebyezzz

+0

奇怪。我在鉻合金上試了一下,確實打了兩次。你確定所有頁面都有完全相同的代碼嗎? – Aris