2012-03-09 65 views
0

今天剛剛開始學習PHP。儘管我很快解決了我的大部分問題,但我卻對這個問題感到困惑。失敗時的默認內容require_once

我有一個主頁page.php動態require_once拉起內容。我得到的主要部分工作,這是page.php?id = 1 page.php?id = 2等加載就好了,但如果有人去只是page.php沒有ID,那麼有錯誤,破壞頁面。現在我想出瞭如何用@來壓制錯誤,而且我也可以明確地設置頁面到頁面的鏈接?if = default,但是我真的需要一個解決方案來讓page.php加載特定於它的內容而沒有錯誤。或者,也許,自動將page.php重定向到page.php?id = default應該不提供id。

使用放在require_once的代碼我現在是上午:

<?php require_once('folder/' . $_GET['id'] . '.html');?> 

謝謝您的幫助!

回答

0

那麼最簡單的方法是檢查,如果你有一個ID,如果沒有,不僅僅是默認設置一個,類似的東西:

$default = 1; 
$id = ($_GET['id'] && is_numeric($_GET['id'])) ? $_GET['id'] : $default; 
require_once('folder/' . $id . '.html'); 
+0

酷,這是超級有幫助的。我實際上使用的是字符串,而不是許多ID的數字,而且我正在調用每個負載的多個內容部分,所以我做了一些更改。在標題部分,我添加了'<?php $ default ='intro'; $ id =($ _GET ['id'] && is_string($ _ GET ['id']))? $ _GET ['id']:$ default; ?>',不同的內容請求只是require_once。謝謝! – user1260372 2012-03-10 02:20:14

+0

如果那對你有幫助,那麼比標記問題的答案。我很高興能夠提供幫助。 – Giedrius 2012-03-10 11:35:18