2012-05-16 70 views
1

我在PHP類成員,看起來像這樣:爲什麼我得到一個未定義的變量錯誤?

function hidden($defaultSort=""){ 
    $defaultSort = 'a';?> 
    <input type="hidden" name="sort" id="<?php print $this->id;?>sort" value='<?php print $defaultSort; ?>' /> 
    <?php print $defaultSort; 
} 

當我調用這個函數,我得到了Firefox中的下列源

<input type="hidden" value="&lt;br /&gt;&lt;b&gt;Notice&lt;/b&gt;: Undefined variable: defaultSort in &lt;b&gt;/www/sptdev/htdocs/includes/v7/sptSearchBox.php&lt;/b&gt; on line &lt;b&gt;24&lt;/b&gt;&lt;br /&gt;" id="searchFormSearchsort" name="sort"/>a 

爲什麼我收到未定義變量錯誤的任何想法?

更多詳細信息: 錯誤來自的行24是隱藏輸入的行。

我發現這在IE8中按預期工作。

這對我來說沒有多大意義,因爲PHP是服務器端,這應該與瀏覽器無關。

UPDATE - 這個問題似乎是我在Firefox中突出顯示並選擇了「View Selection Source」。當我只使用「查看頁面源代碼」時,它看起來很好。

+0

輸出不同於我可以在代碼中看到的。請始終確保代碼與生成輸出的代碼相同。 (屬性順序不同,誰知道還有什麼。) – devsnd

+1

Worksforme:http://codepad.org/PUb9iQSR – biziclop

+0

使用echo而不是print。打印返回一個布爾值是否成功,其中回聲返回void –

回答

0

嘗試:

function hidden($defaultSort=""){ 
    $defaultSort = 'a'; 
    echo '<input type="hidden" name="sort" id="' , $this->id , 'sort" value="' , $defaultSort ,'"/>'; 
    print $defaultSort; 
} 

編輯: 我只是嘗試這樣的代碼,它工作正常。嘗試複製粘貼它,看看它是否適合你。

+0

是一個好主意,但我得到了同樣的結果。 – Mike

+0

如果OP的代碼不行,爲什麼會這樣? – JJJ

+0

PHP使用'.'不是','連接 –

0

你的代碼是正確的。 Probabily你看錯了地方(也許你正在修改一個父類和一個overrided方法)

相關問題