gpt4 book ai didi

php - Stripslashes() 在电子邮件中不起作用

转载 作者:行者123 更新时间:2023-11-29 00:54:43 33 4
gpt4 key购买 nike

现在我正尝试在有人向数据库提交评论时发出电子邮件通知。我正在使用 mysql_real_escape_string() 来防止注入(inject),并且我试图在电子邮件通知中发送名称、电子邮件和评论时去除斜杠。数据库条目代码被注释掉了,因为我不希望每次测试电子邮件系统时都创建一个条目。

电子邮件发送正常,但是 stripslashes() 无法正常工作。例如,如果消息是“等不及了!”该电子邮件将包含“评论:迫不及待!”。这对我来说很奇怪,因为当我在页面上显示评论时,stripslashses 工作正常。

这是因为我没有对不是直接来自数据库的数据应用 stripslashes() 吗?

$li = mysql_connect($dbHost, $dbUser, $dbPass) or die("Could not connect");
mysql_select_db($dbDatabase, $li) or die ("could not select DB");

$name = mysql_real_escape_string($HTTP_POST_VARS["name"]);
$email = mysql_real_escape_string($HTTP_POST_VARS["email"]);
$comment = mysql_real_escape_string($HTTP_POST_VARS["comment"]);
$date = Date("Y-m-d h:i:s");
/*
$gb_query = "insert into entries
values(0, '$name', '$email', '$comment', '$date')";

mysql_query($gb_query);
$res = mysql_affected_rows();

// See if insert was successful or not
if($res > 0) {

$ret_str="Your guestbook entry was successfully added!";*/
$name2=stripslashes($name);
$email2=stripslashes($email);
$comment2=stipslashes($comment);
$subject = 'New Guestbook Entry Has been Added!';
$message = "Name: $name2\nEmail: $email2\nComment: $comment2";
$to = "chetg329@yahoo.com";
mail($to, $subject, $message);
//header('Location: guestbook.php?ps=1');
//exit(); // End the request
/*
} else {
$ret_str = "There was a problem with your guestbook entry. Please try again.";
}

// Append success/failure message
$gb_str .= "<span class=\"ret\">$ret_str</span><BR>";*/
mysql_close();

最佳答案

我的猜测是问题出在 magic_quotes 内.我会看一下您的 php.ini,看看您是否可以将其关闭(等待您不依赖它来防止 SQL 注入(inject))。如果您无法访问 php.ini 以将其关闭,PHP 提供了一种方法供您测试它并采取相应措施(IE 在使用 mysql_real_escape_string 转义数据之前去除数据上的斜杠)称为 get_magic_quotes_gpc

或者,为什么要对未插入数据库的数据使用 mysql_real_escape_string?如果您稍后插入它,则将这些调用移动到 mail 调用之后。

关于php - Stripslashes() 在电子邮件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654508/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com