在 header.php 中,有一個變數 $title 定義在相同位置(取決於頁面的 URL)。在其中一個內頁中,我想覆蓋 $title,因為它是從那裡的資料庫中獲取的。例如:在header.php中有
if (...) {$title = "Section 1";}
然後 echo $title
在inner.php中-
include(header.php); ... SELECT ..... $title = "Page 1";
這當然是行不通的。嘗試使用全域但沒有成功。如何重寫inner.php(header.php)中的$title變數?感謝您的建議,我對 PHP 不太了解。
嘗試使用全域甚至函數,但不確定
計算機會按照你告訴它們的順序執行你告訴它們的事情。如果你這樣說:
計算機將依序執行每個步驟。在第 2 步,它將讀出“第 1 部分”,並且第 3 步無法使其“不說”並說出不同的內容。
這基本上就是您目前程式碼正在做的事情,中間有一些額外的步驟:
步驟 5 無法影響步驟 3;這已經發生了。
避免這種情況的通常方法是將程序分為兩個階段:第一階段準備數據,從資料庫中獲取數據,做出有關頁面標題等內容的決策;第二階段顯示資料,僅根據已取得的資料做出決策。
因此,在您的情況下,您可以將“header.php”的資料部分拆分為單獨的“startup.php”,步驟如下所示:
現在,標題中的標題會在所有邏輯運行後顯示,並且可以顯示為「第 1 頁」而不是「第 1 節」。