1
我被迫使用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: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
我想我可能還需要託管郵件服務器的用戶名和密碼。
謝謝
保羅
你很容易受到SQL注入,就需要解決這個問題。 – Enstage
爲MySQL查詢使用預準備語句。這樣你就可以安全地應對大多數常見的SQL注入攻擊。 – CodeMonkey
那麼你的問題是什麼?數據沒有插入或郵件不走? –