【发布时间】:2018-08-26 18:23:07
【问题描述】:
我有一个代码,我正在尝试使用它。请原谅我的无知,我正在努力学习,但找不到任何对我有特别帮助的东西。
我想做的是:
在我的索引上,显示 show_news.php
使用index.php?page=blank时,显示blank.php的内容
如果所选页面不存在,我想显示一个自定义 404 页面。说如果blank2.php 被使用并且不存在它包括404.php
404 页面是我正在努力解决的问题。
<?php
$number = 4;
if(!$_GET[page]){
include "show_news.php";
} elseif ($_GET[page]) {
include $_GET[page].".php";
} else {
include "404.php";
}
?>
【问题讨论】:
-
if条件中的逻辑没有意义 -
永远不会到达
else语句 -
看,这就是我需要帮助的地方哈哈。在这方面我还是个年轻人。它怎么会不到达其他地方?我认为顺序应该是“if, elseif, else”
-
变量不会神奇地检查文件的存在,你需要file_exists()。还有你在做什么insecure。
-
永远不要相信用户输入。您可以根据字符串对其进行检查,然后使用您指定的字符串对文件系统执行操作,但不要在未清理它们的情况下将用户提供的变量用于大部分内容。您的代码将允许用户通过为“page”传递正确的值来在文件系统中包含任何文件(如果您还使用
$_GET['page']正确访问超全局值)
标签: php html variables include