2010-04-01 80 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 

似乎显示出不同的东西。

相关问题