[英]Trouble defining a variable in PHP?
好了,因此內容頁面使用以下代碼:
$tab = "Friends";
$title = "User Profile";
include '(the header file, with nav)';
標題頁包含以下代碼:
if ($tab == "Friends") {
echo '<li id="current">';
} else {
echo '<li>';
}
問題是, if $tab == Friends
條件永遠不會被激活,並且沒有其他變量從內容頁面傳送到標題頁面。
有人知道我在做什么錯嗎?
更新:好的,當我使用../scripts/filename.php
時,問題似乎消失了,僅當我使用完整的URL時才出現?
有什么想法嗎?
當include
完整的URL時,就不包含PHP腳本,而是要包含它生成的HTML。 就像您訪問了http://wherever.your.url.goes
,但這是由服務器而不是瀏覽器完成的。 該腳本在整個單獨的過程中運行,這是由服務器對自身的單獨請求引起的,並且$variable
都不在兩者之間共享。
簡短版本:如果包含http://wherever.your.url.goes
,則$tab
始終為空白。 如果包含實際文件名,則將共享該變量。
您發布的代碼應該可以正常工作。 您實際上如何包含該文件? 這會在函數內部發生嗎? 然后,您需要使用global
語句才能使其正常工作。 例:
文件1:
function my_include($file) {
global $tab; // <-- add this
include '/some/path/' . $file;
}
$tab = 'Friends';
my_inlcude('file_2.php');
檔案2:
if ($tab == 'Friends') { ... }
現在您了解為什么張貼一些存根和草圖而不是真實的代碼是可怕的做法
嘗試思考,您的問題不是火箭科學。 包含就像復制粘貼代碼一樣代替包含運算符。 在瀏覽器中加載您的隱含URL,復制生成的代碼並將其粘貼到第一個文件中即可查看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.