我被迫违背自己的意愿使用PHP,所以我需要一些帮助。
谷歌搜索后,我有以下基本代码,我想知道它是否正常。
这是一个发布之前"即将推出"页面,用户输入的电子邮件地址,插入到mysql数据库并获取回复消息。这一切都发生在托管服务器上。
理想情况下,我想生成一些带有图像等的HTML,并在电子邮件正文中发送该HTML。有人知道如何在PHP中做到这一点吗?
<?php
$servername = "localhost:3306";
$username = "userblah";
$password = "passblah";
$dbname = "blah";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO prelaunch_users (email)
VALUES ($_GET['email'];)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
$to = $_GET['email'];
$subject = 'Welcome';
$message = 'hello';
$headers = 'From: blah@blah.co.nz' . "\r\n" .
'Reply-To: blah@blah.co.nz' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
我认为我可能也需要托管邮件服务器的用户名和密码。
谢谢
保
答案 0 :(得分:0)
您可以使用如下的prpared语句: -
<?php
if(!empty(trim($_GET['email']))){
$conn = new mysqli("localhost:3306", "userblah", "passblah", "blah");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($stmt = $conn->prepare("INSERT INTO prelaunch_users (email) VALUES (?)")) {
$stmt->bind_param("s",$_GET['email']);
if($stmt->execute()){
// Add you mail code here
}else{
echo "Error: ". $conn->error;
}
$stmt->close();
}
$conn->close();
}else{
die('email is required');
}
?>
用于发送带图像的html邮件。请检查以下帖子