2009-12-24 79 views
1

我有5個遊戲部分將使用相同的模板工作表,但他們將全部從同一個數據庫中的不同表中取出數據。然而,我正在合併:How to include config.php efficiently?動態模板工作表?

好吧,我就是這麼打算解決這個問題。例如,假設我進入index.php?page = pokemon,然後我打算將$ game_name設置爲$ _GET ['page'],然後使用$ game_name選擇表(假設我創建表名稱pokemon)並那麼所有的數據將被正確地從mysql中取出。有更好的方法我應該這樣做嗎?

接下來,在有人試圖去一個不存在的遊戲的情況下,我希望它重定向到主頁。例如,讓我們假設他們拼寫錯誤pokemon poekmon並去index.php?page = poekmon那麼它會正確顯示一個空白的模板沒有數據的權利?相反,如果它是一個不存在的遊戲,我怎麼才能讓它重定向到主頁?

這是一種類似於如何設置WordPress的。它使用Single.php作爲模板,然後從數據庫中獲取數據。

回答

1

在將任何內容打印到頁面本身之前執行您的邏輯,這樣,如果您決定用戶請求了不存在的遊戲,則可以簡單地使用header()重定向。

header("Location: homepage.php"); 

至於發現請求的遊戲是否存在,您可以有一個函數獲取遊戲數據或返回false。這樣一來,你可以做這樣的事情:

if (!$data = game_data("pokemon")) header("Location: no-exist.php"); 

如果請求的遊戲確實存在,那麼該腳本將繼續,並且您使用$數據訪問遊戲數據。當然,在上面的例子中,在你的變量已經過消毒和準備處理之後,你會用你的變量代替「pokemon」。

請記住在向頁面本身輸出任何內容之前執行此操作,否則調用header()將引發「headers already sent」消息。

+0

製作一個函數絕對是一個好主意。我想我會加入。 – Strawberry 2009-12-24 06:29:27

+0

如果找不到與請求匹配的記錄,則函數返回false。 – Sampson 2009-12-24 06:29:56