php - 我不知道怎么调用它 php/css 错误

标签 php css xhtml load

发生的事情是一切都在加载 url 是 deigned.sytes.net 除了当我点击关于我们或服务或联系时的链接他们看起来像加载但 body.tpl 中的内容没有改变默认.也许您可以帮助我解决为什么链接没有改变的问题。你想要的是这里唯一的 php 文件

我已经为查看 perpose 制作了 phps 文件,但如果您坚持使用它,我将发布所需代码。

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

最佳答案

在 URL 中,您将参数命名为 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 是否总是存在?


更新:

还要确保您正确检查了从 $_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 这样的相对路径形式。如果它不是 $valid_pages 中的那些值之一,您将重定向到主页。

关于php - 我不知道怎么调用它 php/css 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557556/

相关文章:

PHP - 如果文件存在,则将数据写入新文件,并在 foreach 循环中调用生成文件的每一行

php - 在 PHP 中,如何在插入 MySQL 表之前转义字符串中的单引号?

javascript - 让 javascript 为 .xml 文件执行

html - css 在 wamp 服务器中不工作

javascript - 在 jquery 对话框标题栏中设置图标样式

java - 动态加载样式表(xhtml 文件)

PHP & MySQL - 删除表行问题

php - Symfony2 - Doctrine OneToMany 选择问题

javascript - 使用 jQuery 将数据库中的选择选项填充到动态选择选项

javascript - 根据内容中的位置调整图像大小