0

嗨,我有这个Zend_Form,它的价值得到了改变。
我在表单中的输入文本被修改,例如:而不是我得到
的文本It's a great dayIt\'s a great day

我用

$name = new Zend_Form_Element_Text('name');
$name->setRequired(true);
$name->setFilters(array('StringTrim', 'StripTags'));
$name->setDecorators(array(
    'Errors',
    'viewHelper',
));

我怎样才能解决这个问题?

4

2 回答 2

2

这是由于您的 PHP 使用了魔术引用。

检查是否get_magic_quotes_gpc()返回 TRUE。如果是这样,则\ ' " &GET 和 POST 请求数据中的字符将使用\.

为了解决这个问题,您必须使用额外的过滤器功能stripslashes()或按照此示例在 Zend 框架中正确执行此操作:http: //blog.philipbrown.id.au/2008/10/zend-framework-forms-and-magic_quotes_gpc/

// 附录:

在您的本地计算机上,您可以执行Sudhirphp.ini在他的回答中解释的操作,但在共享主机上,除非您有权访问文件或 PHP 作为模块加载Apache(mod_php/mod_php5),否则这可能是不可能的

于 2012-10-09T11:52:00.233 回答
1

检查您的php.ini文件并查找名为magic_quotes_gpc的设置并将其设置为 Off。您也可以通过.htaccess文件将其设置为关闭,

php_value magic_quotes_gpc off
于 2012-10-09T11:50:40.617 回答