我正在尝试创建一个动态网站,index.php在网站的内容区域中包含以下代码:
<?PHP
// if undefined then define
if(!$od || $od == ""){
$od = "news";
}
// check if exists prep
$link = 'incs'."/".$od.$ext;
flush();
$fp = fopen($link, "r");
// check if inclusion file not exists then return error
if (!$fp) {
echo "An error has ocurred while processing your request. The file linked as ?od=".$od." does not appear to exist.";
}
// if exists then return parse
else {
fclose($fp);
include 'incs'."/".$od.$ext;
}
echo '</body>'."\n";
echo '</html>'."\n";
?>
我还在整个网站上有各种链接,如注册,登录等页面。 这些链接指向诸如?od = register,?od = login等
之类的页面网站将为我提取默认文件,新闻,并在我网站的内容部分显示,但当我点击注册时,地址栏中的网址会改为/?od =注册,但是默认新闻仍然在内容部分,上面的代码中是否有错误?或者我错过了什么?
P.S。 $ext
在我的配置文件中定义为inc.php
,它位于索引页面的顶部。
答案 0 :(得分:2)
除了这是非常不安全的事实 - 你正在发出GET请求,通过$_GET
数组访问变量,即$od = $_GET['od']
答案 1 :(得分:0)
我相信你需要用$ _GET ['od']或$ _REQUEST ['od']来定义$ od
$od = $_GET['od'];
// if undefined then define
if(!$od || $od == ""){
$od = "news";