0

動的な Web サイトを作成しようとしています。index.php には、Web サイトのコンテンツ領域に次のコードが含まれています。

<?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 などのページを指しています。

Web サイトは、ニュースのデフォルト ファイルを取得し、それを Web サイトのコンテンツ セクションに表示しますが、[登録] をクリックすると、アドレス バーの 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 に答える