2011-02-15 144 views
2

我正在研究一個PHP Jeopardy遊戲,我需要一種方法來了解如何檢查一個問題的鏈接是否已被點擊並隱藏它。如何檢查鏈接是否已被點擊?

我還需要一種方法來刷新遊戲鍵盤再次顯示所有問題的鏈接。

有誰知道我該怎麼做?

編輯:

我的遊戲的設置是相當簡單的。用戶不必註冊。

您呈現一個危險板從該問題從問題和答案是使用獲取存儲在MySQL數據庫(我不想不得不做出多個SQL請求)拍攝。當您點擊問題類別(例如,類別1,$ 100)時,它會將您帶到顯示該頁面上的問題的頁面,該頁面是回到董事會的鏈接以及答案的鏈接。在答案頁面上,只有答案和一個鏈接回到電路板頁面。 (對我來說很有意義,讓我知道,如果它不)

+1

向我們展示你所擁有的,到目前爲止,這樣我們就可以更加有針對性的建議,因爲有一千零種一種不同的方法,這取決於你已經完成的工作。 – dmcnelis 2011-02-15 22:47:03

+0

@dmcnelis我編輯的問題。 – user556396 2011-02-15 23:01:57

+0

最後我用餅乾和鏈路ID,然後在需要的時候正在重置的cookie。 – user556396 2011-02-16 00:07:31

回答

2

你可以用CSS訪問鏈接。這是通過所謂的僞類在CSS完成(更多信息的僞類新 here

因此,對於CSS,你可以這樣做:

a.jeopardyquestion:visited {display: none;} 

,然後如果你想顯示全部問題只是做:

$("a.jeopardyquestion").toggle(true); // to show them 

大編輯:沒有可靠的方法只用CSS和JS與僞類來做到這一點。似乎他們將放棄對瀏覽器完全支持:訪問屬性。目前Chrome完全忽略了訪問鏈接的樣式,但顏色屬性除外。即使如此,也無法嗅探顏色,因爲鍍鉻物在於並返回鏈接的顏色,而不應用:訪問規則。 Firefox仍支持:訪問僞類,但它似乎很快就會被丟棄。因此,如果您想跟蹤用戶訪問的鏈接,則必須使用JavaScript + Cookie的某種組合來跟蹤訪問的鏈接,例如,:

  1. 用戶訪問的 「儀表板」
  2. 點擊次數
  3. 問題ID被存儲(追加)鏈接到一個cookie(例如: 「5,12,22,45」);
  4. 用戶返回頁面
  5. 閱讀cookie並僅顯示不在cookie中的鏈接。

或者您可以使用一些AJAX向服務器提供有關訪問問題的信息。這樣,你可以實現更高的安全性(和欺騙預防)通過向用戶只需問題,他必須看到並做服務器端所有的檢查,例如:

  1. 用戶選擇一個問題
  2. 導航,或者只是把打開的問題,在會議召開之前
  3. 要麼AJAX調用時的問題頁面加載
  4. 用戶返回到問題頁面
  5. 而產生的問題頁面上,閱讀會話,看哪些問題用戶回答,並且不顯示它們。
0

簡單的解決方案很可能是給每個連接一個唯一的ID,並使用JavaScript來隱藏它的客戶端。您可以使用JavaScript使它們再次可見。

編輯: 使用的會話與每個用戶相關聯。他們不需要註冊。

有關問題點擊使用Ajax更新問題的屏幕。這將阻止你的用戶在源代碼中窺探以獲得答案。在某個地方與會話cookie關聯哪些問題已被查看,並拒絕發送相同的問題。

0

如果您的客戶需要註冊,您可以將他們的點擊存儲在數據庫中,如果沒有,您可以將點擊存儲在會話或cookie中。但這取決於你的應用程序。