今、私は誰かがデータベースにコメントを投稿したときに電子メール通知をしようとしています。私はmysql_real_escape_string()
を注射剤から守るために使用しています。私は電子メール通知で送られたときに、名前、電子メール、およびコメントからスラッシュを取り除こうとしています。電子メールシステムをテストするたびにエントリがないように、データベースエントリコードはコメントアウトされています。電子メールでStripslashes()が動作しない
メールは正しく送信されますが、stripslashes()
は正しく機能していません。たとえば、メッセージが「Can not wait!」である場合電子メールには「コメント:待つことはできません!」と表示されます。これは私には奇妙です。なぜなら、私はコメントがページに表示されると、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 = "[email protected]";
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();
コードを掲載することはできますか? –
申し訳ありません、私はそれを追加することを完全に忘れました。 – tim
http://os-code-web.blogspot.com/2011/04/15-top-php-coding-tutorials-tips-and.html –