2014-02-07 37 views
0

我有一個問題與可變開關情況下調用未定義的變量

(define ('THIS_PAGE', basename($_SERVER['PHP_SELF'])); 

,我在我的網站標題標籤調用諸如

<title> <?=$title?><?=SITE?></title>. 

網站不斷顯示得很好,但在$ title變量回報的「< BR /&gt; &lt;b&gt;Notice&lt;/b&gt;: Undefined variable: title in lt;b&gt;/Applications/MAMP/htdocs/scc/sccc_2014/_240php/05a_dynamicContentc/_inc/inc_header.php&lt;/b&gt;

在線路錯誤

&lt;b&gt;6&lt;/b&gt;&lt;br /&gt; MAX-O-MATIC 

這是顯示在我的標題標籤。我在本地使用MAMP工作,但我不認爲這是問題。我希望這只是一個錯字,但我還是很新的,它可能是任何東西。

任何幫助表示讚賞。 是的,我試圖研究一個解決方案之前,並花費時間嘗試調試。如果不做適當的努力,我不會來這裏尋求幫助。 謝謝

配置文件:

define ('SITE', 'MAX-O-MATIC'); //Name of Site 

define ('THIS_PAGE', basename($_SERVER['PHP_SELF'])); //Constant Current Page is X 

switch(THIS_PAGE) 
{ 
    //Set most likely scenario as the first to run 
    case 'index.php' : 
     $title = "Welcome" ; 
     $banner = "Max-o-matic"; 
     break; 

    case 'itc240.php' : 
     $title = "ITC240 |" ; 
     $banner = "Samples"; 
     break; 

    case 'itc250.php' : 
     $title = "ITC250 |" ; 
     $banner = "Samples"; 
     break; 

    default : 
     $title = ""; 
     $banner = "Default Banner"; 
} 

頭文件:

<!DOCTYPE HTML> 
<html> 

<head> 

    <title> 
      <?=$title?><?=SITE?> 
    </title> 

測試頁:

<?php 
//itc240.php 
include '_inc/inc_config.php'; //My arrays and stuff 
include '_inc/inc_header.php'; 
?> 

test Content</p> 

<?php 
include '_inc/inc_footer.php'; 
?> 
+0

在執行頭文件之前,您似乎沒有包含配置文件... –

+0

我懷疑是範圍問題。 SITE被定義,思考全球。 $ title在腳本中定義,缺乏相同的全局性質。例如,如果你在一個函數之外定義$ site,並且試圖在函數中訪問它而不聲明''global $ site'''(在函數中)或者作爲一個變量傳遞它,你將無法使用它如預期。需要更多信息。 –

回答

1

你是如何加載一個配置文件?

請確保它已加載,然後再嘗試輸出$ title。

+0

我喜歡使用include的配置文件,並且在頭文件之前加載它也是這樣的:「<?php include'_inc/inc_config.php'; include'_inc/inc_header.php';?>

test內容

<?php include'_inc/inc_footer.php';?> – Chezshire

+0

在你的開關(...){}之後做一個var_dump($ title)輸出任何東西? – CodeViking

+0

我試圖做一個echo語句(<? php echo var_dump($ title);?>)並返回一個類似的錯誤(注意:Undefined variable:title在/Applications/MAMP/htdocs/scc/sccc_2014/_240php/05a_dynamicContent-fail/itc240.php在第8行NULL) – Chezshire