2012-05-16 134 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方法)

相关问题