在您指定參數p
的網址中,但在您的files.class.php
中,您實際測試的是$_GET['page']
。因此,要麼修改URL使用page
作爲參數或代碼更改爲:
// in files.class.php instead of if(!isset($_GET['page']))
if(!isset($_GET['p'])){
// your code here...
} else {
// ...
}
在你原來的代碼,如$_GET['page']
也不會存在,它總是顯示的索引頁。
看起來很奇怪,我的另一件事是以下(但也許它是你是如何設置它):
if(file_exists($_GET['page'].'.txt')){
// and lets include that then:
ob_start();
include("contents/". $_GET['page'] . '.php');
$content = ob_get_contents();
ob_end_clean();
}
您首先檢查是否文本文件如about.txt
存在但包括一個PHP文件contents/about.php
。這是打算?如果文本文件存在,PHP總是存在嗎?
UPDATE:
另外,還要確保你正確地檢查你從$_GET['page']
獲取或無論你到底把它的值。
例如此調用http://designed.sytes.net/index.php?page=../index
似乎要殺死你的服務器(抱歉,這是無意:()
更新2:
爲了提供「一些」安全你可以檢查是否$_GET['page']
是一個預定義值,而不是檢查使用此名稱的文件是否存在,例如:
$valid_pages = array('home', 'about', 'services', 'contact');
if(isset($_GET['page']) && in_array($_GET['page'], $valid_pages) {
// include page here
}
else {
// redirect to home page
}
這可以確保$_GET['page']
就像../index
相對pathes的形式不是。如果它不是$valid_pages
中的那些值中的一個,那麼您將重定向到主頁。
看起來你做了什麼。 – 2010-04-01 01:29:03
@John Boker:啊再次工作:) – 2010-04-01 01:38:53
呵呵所以,你是感謝抱歉,沒有我沒有更新與修復phps使他們都.php而不是.txt,並感謝你,現在使完美的感覺爲什麼它沒有加載,也許你可以幫我一個z-index級別沒有被應用,我會將它添加到以上內容 – Zeenjayli 2010-04-01 01:42:12