我在PHP中有一个类成员,看起来像这样:
function hidden($defaultSort=""){
$defaultSort = 'a';?>
<input type="hidden" name="sort" id="<?php print $this->id;?>sort" value='<?php print $defaultSort; ?>' />
<?php print $defaultSort;
}
当我调用这个函数时,我在火狐中得到以下源代码
<input type="hidden" value="<br /><b>Notice</b>: Undefined variable: defaultSort in <b>/www/sptdev/htdocs/includes/v7/sptSearchBox.php</b> on line <b>24</b><br />" id="searchFormSearchsort" name="sort"/>a
知道为什么我会收到未定义的变量错误吗?
更多详情:错误来自的第 24 行是带有隐藏输入的行。
我发现这在IE8中按预期工作。
<input type="hidden" name="sort" id="searchFormSearchsort" value='a' />a
这对我来说没有多大意义,因为PHP是服务器端,这应该与浏览器无关。
更新 -问题似乎是我在Firefox中突出显示并选择了"查看选择源"。当我只使用"查看页面源代码"时,它看起来不错。
尝试:
function hidden($defaultSort=""){
$defaultSort = 'a';
echo '<input type="hidden" name="sort" id="' , $this->id , 'sort" value="' , $defaultSort ,'"/>';
print $defaultSort;
}
编辑:我刚刚尝试了这段代码,它工作正常。尝试按原样复制粘贴它,看看它是否适合您。
你的代码是正确的。可能您在错误的地方观看(也许您正在修改父类和重写的方法(