2012-10-24 32 views
1

我有一個奇怪的事情,我試圖實現。暫時讓用戶訪問整個網站不可用

我想要的是,當用戶訪問某個HTML頁面時,整個頁面在所有用戶暫時不可用的情況下,固定時間(例如20分鐘)。之後,頁面應該可以再次訪問。臨時重定向或頁面審查也是可能的。

爲什麼?我想給用戶在基於GPS的遊戲中進入禁區的懲罰,該遊戲根據用戶的GPS數據顯示特定的網頁。最後一部分工作正常。

搜索後,我認爲它可能與PHP的工作,但我有最小的經驗。我瞭解HTML和CSS,以及如何閱讀和修改現有的JavaScript和PHP腳本,而不是從頭開始構建這些代碼。

另一種選擇(我無法弄清楚)是讓網站在有人進入網頁時發送電子郵件,並使另一個服務如"If This Then That"使網站脫機/更改文件名。

+1

爲了做你想做的事情,你需要某種持久性數據存儲 - 一個數據庫或其他類似的東西。另外,我猜這是一種強烈的合作和組織遊戲?否則,懲罰每個人對於一個人的行爲可能不是你想要做的。同樣,除非你讓他們親自見面或者建立忠誠的關係,否則我會擔心有人會爲了巨魔因素而不斷地觸發「沒有人進入」效應。 –

+0

誠然,這是一個合作遊戲。儘管如此,這對青少年來說也是如此,所以他們可能仍然會相互廝殺。 – Salvor

回答

1

在你的PHP頁面,我會做這樣的事情:

<?php 
    if(!can_view_page()){ 
     header('Location: other_page.php'); 
    } 
?> 

can_view_page()功能,您需要檢查的條件是否被滿足(例如,在正確的位置,查看網頁)。

+1

不要大寫字母;) – Lix

+0

謝謝,看起來像其他答案一樣的一般想法。它可以幫助我,但我沒有足夠的經驗來完成這項工作。我會找一個程序員。 – Salvor

1

與其他回答者建議的一樣,創建一個函數,您可以使用該函數檢查用戶是否可以訪問該頁面的條件。下面是一個使用PHP,Python和JavaScript語法哈哈:)

function isAllowedViewing(is_good) { 
    if (is_good): 
     if "/var/www/mysite/disable_visits" file exists: 
      contents = (read contents) 
      # If 20 minutes has elapsed since first being disabled 
      if (now.toEpoch() - contents.toEpoch()) > 1200: 
       remove file from file system 
      else: 
       header("Location: thats_bad.php") 
    else: 
     if "/var/www/mysite/disable_visits" file does not exist: 
      create the file on the file system and write now.toEpoch() to it 
     # Optional: 
     else: 
      re-write the current time to the file to reset the 20 minute counter (for every time the user re-visits the bad page) 
} 

所以使用它的混合一些僞代碼,你會調用該函數在每個頁面的頂部。如果該頁面是允許正常訪問的普通頁面,則將true傳遞給該函數。如果您想懲罰用戶訪問該頁面,請通過false

+0

閱讀完該代碼後,我的頭痛:S但是+1,你設法表達了一般想法!我認爲,我們不是複製麪食的粉絲;) – Lix

+0

@Lix哈哈我的頭痛,試圖傳達它沒有實際的PHP代碼。我之前使用過PHP,但並不想花時間獲取所有代碼。 – Ian

+0

謝謝!看起來我必須找一位程序員來幫助我解決這個問題。我明白了一般想法,但找出確切的代碼需要幾天的時間...... – Salvor