2012-08-23 111 views
4

我一直在尋找最後一個小時如何做到這一點...我認爲這很容易,但無法使其工作。設置會話/ cookie 24小時,每天只向用戶顯示一次

我想每天只顯示一次(AdSense)一次。

我不知道如果使用cookie或PHP會話,最好的方法是什麼。無論如何,你能幫我一下,告訴我怎麼做到這一點?

在此先感謝!

聖地亞哥

編輯:我想這樣我可以創建會話,但我不知道如何「重建」,它每24小時,如何檢查該會話,以顯示我想要什麼每天顯示一次。

if (!isset($_SESSION['adSense']) 
    $_SESSION['adSense'] = time(); 

if (time() - $_SESSION['adSense'] <= 60*60*24) { 
    return true; 
} else { 
    return false; 
} 
+0

你要告訴我們什麼喲你試過了,沒有用? – andrewsi

+0

我嘗試了很多,我可以粘貼一段代碼不起作用,但我不知道它會有幫助。 – Santiago

+0

那麼,對於你寫的代碼,它不是如何工作的?它是否設置了cookie?它是否設置了Cookie,但時間戳不起作用?時間戳工作,但事情仍然出現? – andrewsi

回答

9

當用戶離開網站的會話將過期,使用Cookie是你想要什麼:

<? if (!isset($_COOKIE['showstuff'])): ?> 

    <!-- replace this whatever you want to show --> 

    <? 
    setcookie('showstuff', true, time()+86400); // 1 day 
    ?> 

<? endif; ?> 
+0

謝謝!我認爲這是完美的! – Santiago

+0

有一個問題,我可以在標題中一次執行此操作,並且每次我想在頁面中顯示某些內容時檢查cookie嗎?因爲我想在我的頁面中顯示3種不同的東西,我不知道設置Cookie 3次是否正確... – Santiago

+0

無論您將代碼(即使是不同的內容)放在同一位置頁。它只會設置一次cookie。 – IMB

2

如何做它的其他方式:

  • 您檢查是否存在的cookie。
  • 如果它在那裏,什麼都不做
  • 如果它不存在,每天做一次你想做的事,並創建一個24小時後過期的cookie。
+0

我認爲這就是@IMB回答的,對吧?謝謝@ jidma! – Santiago

+0

究竟:)我們在2分鐘的時間間隔回答:) –

3

你可以這樣做。

1.

setcookie('showPopup','yes',time() + 24 * 3600); // 24 hours 

2.

setcookie('showPopup','yes',strtotime('+1 days')); // 24 hours 

3.

setcookie('showPopup','yes',time() + 86400); // 24 hours 

檢查曲奇

if(isset($_COOKIE['showPopup'])) 
{ 
    echo 'Not show pop'; 
} 
else{   
    echo 'show popup and set cookie'; 
    setcookie('showPopup','yes', time() + 86400); 
}