0

始める前に、私はPHPの経験がほとんどないことをお知らせする必要があります。実際、私は先週それを使い始めたばかりなので、JavaScriptか何かのように使っています。

とにかく、私は自分のWebサイトで、PHPを介して、できる限り、そして方法を知っている限り、コンテンツの動的な提供を合理化しようとしています。

だから、私はこれを行う:

  1. 現在使用しているすべてのURL変数の配列を作成します。
  2. 配列を循環IDPage()するループを含むクエリは、インデックスの場所を現在のURL変数と比較し、一致する場合はインデックスの場所を返します。FOR
  3. 返された文字列を使用して、含めるコンテンツを決定します。

 

Pre-<!DOCTYPE>

<?php
    $root = $_SERVER["DOCUMENT_ROOT"];
    $array_IDs = array("404", "home", "item2", "item3", "item4");
    global $root, $array_IDs;
?>

<頭>

<?php
    function IDPage(){
        for ($i = 0; $i < count($array_IDs); $i++){
            if (isset($_GET[$array_IDs[$i]])){
                return $array_IDs[$i];
            }
        }
    }
?>

<本体>

<article>
    <?php 
        $response = IDPage();

        if ($response == "404"){
            include($root . "/path/file.ext");
        }

        if ($response == "home"){
            include($root . "/path/file.ext");
        }

        if ($response == "item2"){
            include($root . "/path/file.ext");
        }

        if ($response == "item3"){
            include($root . "/path/file.ext");
        }

        if ($response == "item4"){
            include($root . "/path/file.ext");
        }
    ?>
</article>

現在の設定を使用すると、配列は常に0を返します。もう少し掘り下げてみると、これは値がないcount()と考えているためと思われ$array_IDsます。ただし、これは、FORループを<body>sと同じブロックに配置した場合に機能します(もちろん、同じブロックから機能するようにコードを変更します)。

繰り返しになりますが、私はそれが粗雑であることを知っていますが、それは小さなサイトにすぎません。それ以上のことはわかりません。データベースなどに入る準備ができていないと思います。しかし、誰かがもっと良いアイデアを持っているなら、私が能力がある限り、遠慮なく私に知らせてください。:L

4

1 に答える 1

1

関数内でキーワードを使用globalして、その変数を関数にインポートします。

function IDPage(){
    global $array_IDs;
    for ($i = 0; $i < count($array_IDs); $i++){
        if (isset($_GET[$array_IDs[$i]])){
            return $array_IDs[$i];
        }
    }
 }
于 2012-06-21T22:36:47.897 に答える