我不知道怎么称它为php / css错误

时间:2010-04-01 01:06:38

标签: php css xhtml load

什么是正在加载只是很好的网址是deign.sytes.net除了链接当我点击我们或服务或联系他们看起来像加载但body.tpl中的内容不会从默认更改。也许你可以帮我解决这个问题,为什么链接没有变化。你想要的是唯一的php文件

我已经制作了用于查看perps的phps文件但是如果你坚持它我将发布require代码。

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

2 个答案:

答案 0 :(得分:1)

在您为参数p命名的网址中,但在files.class.php中,您实际为$_GET['page']进行了测试。因此,要么更改网址以使用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是否总是存在?


<强>更新

还要确保正确检查从$_GET['page'] 获得的值,或者最后调用它。
例如。此次通话http://designed.sytes.net/index.php?page=../index 似乎会杀死您的服务器(抱歉,这是无意中:()

更新2
为了提供“某种”安全性,您可以检查$_GET['page']是否是预定义值之一,而不是检查是否存在具有此名称的文件。 E.g:

$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这样的相对形式。如果它不是$valid_pages中的其中一个值,则会重定向到主页。

答案 1 :(得分: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

似乎表现出不同的东西。