ホームページ  >  に質問  >  本文

PHP変数の書き換え

header.php では、同じ場所 (ページの URL に応じて) に変数 $title が定義されています。内部ページの 1 つで、データベースから取得された $title をオーバーライドしたいと思います。例: header.php には

があります。 リーリー

その後 echo $title

inner.php-

内 リーリー

もちろん、これはうまくいきません。グローバルを使用してみましたが、成功しませんでした。 inner.php (header.php) の $title 変数をオーバーライドするにはどうすればよいですか? PHPについてはあまり詳しくないのでアドバイスありがとうございます。

グローバルまたは関数を使用してみましたが、よくわかりません

P粉933003350P粉933003350306日前450

全員に返信(1)返信します

  • P粉204079743

    P粉2040797432024-01-11 00:18:23

    コンピュータは、指示された順序で指示されたことを実行します。あなたがこう言ったら:

    1. タイトルを「セクション 1」に設定します。
    2. タイトルを読んでください。
    3. タイトルを「ページ 1」に設定します。

    コンピュータは各ステップを順番に実行します。ステップ 2 では「パート 1」と表示されますが、ステップ 3 ではそれを「言わない」にして別のことを言う方法はありません。

    これは基本的に現在のコードが実行していることですが、間にいくつかの追加の手順があります:

    1. 「header.php」が含まれます
    2. (header.php内) URLに基​​づいてヘッダーを「セクション1」に設定します
    3. (header.php内) ヘッダーを表示
    4. データベースを使って何かをする
    5. タイトルを「ページ 1」に設定します
    6. ページの残りの部分を表示

    ステップ 5 はステップ 3 に影響を与えることはできません。これはすでに起こっています。

    これを回避する通常の方法は、プログラムを 2 つの段階に分割することです: 最初の段階 データを準備します 、データベースからデータを取得し、ページ タイトルなどを決定します。 stage データを表示し、取得したデータのみに基づいて意思決定を行います。

    したがって、あなたの場合、次の手順で「header.php」のデータ部分を別の「startup.php」に分割できます。

      「startup.php」が含まれます
    1. (startup.php 内) URL に基づいてタイトルを「セクション 1」に設定します
    2. データベースを使って何かをする
    3. タイトルを「ページ 1」に設定します
    4. 「header.php」が含まれます
    5. (header.php内) ヘッダーを表示
    6. ページの残りの部分を表示
    ヘッダー内のタイトルは、すべてのロジックが実行された後に表示されるようになり、「セクション 1」ではなく「ページ 1」として表示できるようになりました。

    返事
    0
  • キャンセル返事