Heim  >  Fragen und Antworten  >  Hauptteil

Umschreiben von PHP-Variablen

In header.php ist an derselben Stelle eine Variable $title definiert (abhängig von der URL der Seite). Auf einer der Innenseiten möchte ich $title überschreiben, da es aus der dortigen Datenbank stammt. Zum Beispiel: In header.php gibt es

if (...) {$title = "Section 1";}

Dann echo $title

in inner.php-

include(header.php); ... SELECT .....

$title = "Page 1";

Natürlich wird das nicht funktionieren. Habe es mit Globals versucht, ohne Erfolg. Wie überschreibe ich die Variable $title in inner.php (header.php)? Danke für den Rat, ich weiß nicht viel über PHP.

Habe versucht, Globals oder sogar Funktionen zu verwenden, bin mir aber nicht sicher

P粉933003350P粉933003350257 Tage vor408

Antworte allen(1)Ich werde antworten

  • 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;这已经发生了。

    避免这种情况的通常方法是将程序分为两个阶段:第一阶段准备数据,从数据库中获取数据,做出有关页面标题等内容的决策;第二阶段显示数据,仅根据已获取的数据做出决策。

    因此,在您的情况下,您可以将“header.php”的数据部分拆分为单独的“startup.php”,步骤如下所示:

    1. 包含“startup.php”
    2. (在startup.php中)根据URL将标题设置为“第1节”
    3. 使用数据库做一些事情
    4. 将标题设置为“第 1 页”
    5. 包含“header.php”
    6. (在 header.php 中)显示标题
    7. 显示页面的其余部分

    现在,标题中的标题会在所有逻辑运行后显示,并且可以显示为“第 1 页”而不是“第 1 节”。

    Antwort
    0
  • StornierenAntwort