2011-07-31 58 views
0

我正在尋找最容易和最明智的方式來讓這種情況發生;在PHP中連續查詢MySQL數據庫?

用戶加載頁面 - >當頁面加載時,它不斷查詢數據庫,直到它找到一個特定的值(用戶IP地址) - >一旦設置了該值,它將重定向頁面。

我之所以不能簡單地將頁面上的用戶IP,插入到數據庫中,然後重定向,是因爲IP地址用於驗證方法,並作爲參數傳遞給單獨的網站(我無法控制),那麼一旦用戶在該網站上完成了一系列操作,它就會被傳回並添加到我的數據庫中。

如果任何人都可以指出我的寫作方向,我可以使用哪些PHP函數等,我將不勝感激:)!

+0

所以,等等,這對於用戶來說應該是什麼樣子?用戶轉到另一頁完成一些操作,但仍然*您的*網站應該重定向他...?你能更詳細地描述這個設置嗎? – deceze

+0

好吧,完整描述:用戶通過主頁進入 - >用戶重定向到國家特定頁面 - >用戶點擊下載鏈接 - >模塊JS彈出框,要求他/她完成報價以訪問所述鏈接,並有一個商品鏈接列表 - >每個商品鏈接都帶有可以保存任何值的「subid」參數,在這種情況下,用戶IP地址用作值 - >用戶點擊在新商品中打開的商品頁面以便他/她完成 - > – Fireworksable

+0

完成後,用戶IP地址(「subid」的值)被髮回到另一個獲取用戶IP地址並將其插入白名單數據庫的PHP腳本 - >模塊盒在其他頁面上顯示感謝信息,重定向到下載頁面 – Fireworksable

回答

2

查詢原始頁面的最佳方式可能是通過AJAX。每隔20秒左右向服務器上的腳本發送一個AJAX請求,以檢查數據庫是否已更新了您正在查找的數據。爲了使這更實時,長輪詢/彗星是一種你可能想要研究的技術。

一個技術含量極低的解決方案將會是一個簡單的頁面,可以保持自我刷新,檢查每個負載上的數據庫。

儘管使用IP作爲唯一標識符並不是很精細。如果只有一個人填寫報價,那麼這可能會讓大量人員無法進入。除非這對你沒有任何問題,否則最好創建一個長的隨機字符串,將它保存在會話中,並將其作爲subid發送並等待它回來。這樣你就可以唯一識別一個用戶。您甚至可以識別用戶唯一使用的具體動作

希望能讓你走。

+0

甜美的男人,非常感謝:)。 – Fireworksable