黑马模板网专注企业网站模板制作,包括企业pbootcms网站模板,静态网页模板,网站源码下载,HTML网站模板等等。
免责声明:本站所有资源(模板、图片)搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。
今天客户在使用帝国cms7.5登陆后台时报了一个错误,提示:PHP:Deprecated: Function set_magic_quotes_runtime() is deprecated 错误。客户用的是PHP7.4版本。
PHP 7.4不推荐使用get_magic_quotes_gpc函数替代(PHP 7.4 deprecated get_magic_quotes_gpc function alternative)。
下面我们来看下解决方法。
在/e/class/connect.php 中添加如下代码:
define('MAGIC_QUOTES_GPC',ini_set("magic_quotes_runtime",0)?True:False);
如图所示:
拓展:
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“ ”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。5.4.0 始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中移除了。
下面给出一个兼容各个php版本的示例:
<?php
// 如果启用了魔术引号
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
// 适用各个 PHP 版本的用法
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
// 如果使用 MySQL
$lastname = mysql_real_escape_string($lastname);
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>