名站导航为爱好php程序的朋友们提供php相关的教程知识。
ThinkPhP程序自动转义的解决方法
php.ini中如何开启了magic_quotes_gpc,由于thinkphp在数据入库时未判断 magic_quotes_gpc是否开启,而直接进行了转义。本文介绍二个解决方法,供大家参考。 办法1:在baseAction中自动执行 public function _initialize() { //去除转义 不用系统的自动转义 if (get_magic_quotes_gpc()) { $this->mystrip(&$_POST); $this->mystrip(&$_GET); } //去除转义方法 public function mystrip($data){ if (is_array($data)){ foreach ($data as &$v){ $this->mystrip(&$v); } }else{ $data = stripslashes($data); } } 或在接收数据的时候处理: $data['content'] = stripslashes(htmlspecialchars_decode($_POST['content'])) 主要使用stripslashes函数。 办法2:是在入口文件增加如下具体代码如下则可:(该方法未测试) if (!get_magic_quotes_gpc()) { function addslashes_deep($value) { $value = is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value); return $value; } $_POST = array_map('addslashes_deep', $_POST); $_GET = array_map('addslashes_deep', $_GET); $_COOKIE = array_map('addslashes_deep', $_COOKIE); $_REQUEST = array_map('addslashes_deep', $_REQUEST); } 名站网址导航好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,php实现关键词自动加链接