2010-04-01 79 views
1

最新情況是一切正在加載只是罰款url是deigned.sytes.net除了鏈接,當我點擊有關我們或服務或聯繫他們看起來像那裏的鏈接加載但body.tpl中的內容不會從默認更改。也許你可以幫助我,爲什麼這些鏈接沒有改變。你想在這裏只有php文件我不知道該怎麼稱呼它php/css錯誤tho

我已經做了查看perpose的phps文件,但如果你堅持它,我會發布需要的代碼。

designed.sytes.net/index.phps designed.sytes.net/classes/file.class.phps

回答

1

在您指定參數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中的那些值中的一個,那麼您將重定向到主頁。

+0

看起來你做了什麼。 – 2010-04-01 01:29:03

+0

@John Boker:啊再次工作:) – 2010-04-01 01:38:53

+0

呵呵所以,你是感謝抱歉,沒有我沒有更新與修復phps使他們都.php而不是.txt,並感謝你,現在使完美的感覺爲什麼它沒有加載,也許你可以幫我一個z-index級別沒有被應用,我會將它添加到以上內容 – Zeenjayli 2010-04-01 01:42:12

0

我在你的http://designed.sytes.net/classes/file.class.phps文件看你有$_GET['page']但在查詢字符串你有p=

的什麼行不通的例子是:

http://designed.sytes.net/index.php?p=about 

再改爲:

http://designed.sytes.net/index.php?page=about 

似乎顯示出不同的東西。

相關問題