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 中按预期工作。

<input type="hidden" name="sort" id="searchFormSearchsort" value='a' />a

这对我来说没有多大意义,因为 PHP 是服务器端,这应该与浏览器无关。

更新- 问题似乎是我在 Firefox 中突出显示并选择了“查看选择源”。当我只使用“查看页面源代码”时,它看起来不错。

4

2 回答 2

0

你的代码是正确的。可能您在错误的地方观看(也许您正在修改父类和覆盖的方法)

于 2012-05-16T14:51:18.457 回答
0

尝试:

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

编辑: 我刚刚尝试了这段代码,它工作正常。尝试按原样复制粘贴它,看看它是否适合您。

于 2012-05-16T14:41:18.983 回答