【发布时间】:2016-02-18 05:47:55
【问题描述】:
我正在使用我在developphp.com 中找到的用于新闻通讯系统的代码。但它没有显示如何向订阅者发送电子邮件以进行确认和选择退出。那么,我如何向新订阅者发送电子邮件?
<?php
$name = "";
$email = "";
$msg_to_user = "";
if ($_POST['name'] != "") {
include_once "scripts/connect.php";
$name = $_POST['name'];
$email = $_POST['email'];
$sql = mysql_query("SELECT * FROM newsletter WHERE email='$email'");
$numRows = mysql_num_rows($sql);
if (!$email) {
$msg_to_user = '<br /><br /><h4><font color="FF0000">' . $name . ', Please type in your email.</font></h4>';
} else if ($numRows > 0) {
$msg_to_user = '<br /><br /><h4><font color="FF0000">' . $email . ' is already in the system.</font></h4>';
} else {
$sql_insert = mysql_query("INSERT INTO newsletter (name, email, dateTime)
VALUES('$name','$email',now() )") or die (mysql_error());
$msg_to_user = '
<br /><br /><h4><font color="33cc44">' . $name . ', You have been subscribed.</font></h4>
';
$name = "";
$email = "";
}
}
?>
【问题讨论】:
-
您应该停止以这种方式查询
mysql_query几乎已被弃用,您还需要在将$_POST['name']和 $_POST['email'] 包含在SQL语句中之前验证它们,当前代码对于 SQL 注入是如此开放。强烈建议使用带有PDO或MySQLi的 Prepared Statements -
不是重复的,你这些笨蛋!如果您不知道答案,请不要对我投反对票。我想在这里学习。
标签: php mysql email newsletter