0

我正在尝试创建一个动态网站,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 等页面。

该网站将为我提取默认文件,新闻,并将其显示在我网站的内容部分,但是当我单击注册时,地址栏中的 url 会更改为 /?od=register,但默认新闻仍保留在内容部分,上面的代码有错误吗?还是我只是错过了什么?

PS$ext在我的配置文件中定义为inc.php,它包含在索引页面的顶部。

4

2 回答 2

2

除了这是非常不安全的事实 - 您正在发出 GET 请求,通过$_GET数组访问变量,即$od = $_GET['od']

于 2013-05-02T21:05:52.637 回答
0

我相信您需要使用 $_GET['od'] 或 $_REQUEST['od'] 定义 $od

$od = $_GET['od'];
// if undefined then define
 if(!$od || $od == ""){
 $od = "news";
于 2013-05-02T21:07:48.323 回答