谁能帮我解决我的问题。我试图让用户注册到我的网站,然后在他们验证了他们的电子邮件地址后登录。当他们注册时,他们的详细信息会被插入数据库,一旦发生这种情况,电子邮件就会被发送到他们的电子邮件中。我发现他们的详细信息被插入到表格中,但电子邮件没有发送。我不知道我做错了什么,我想尽办法弄清楚,我也没有收到任何错误消息。另外,我很久没有使用 PHP 了。我也有我的数据库连接和东西。这是我的代码:
$email = $_POST['email'];
$emailcheck = "SELECT email FROM useraccounts WHERE email = '$email'";
$result = $conn->query($emailcheck); // executes query $emailcheck
//if the email exists it gives an error
if ($result->num_rows != 0) {
echo "Sorry, the email $email is already in use.";
}
// check to see if both passwords entered match
if ($_POST['password'] != $_POST['confirmpassword']) {
echo "Your passwords did not match. Please try again.";
}
// to encrypt the password
$passhash = sha1($_POST['password']);
// to make confirm_code
$confirm_code = sha1($email);
if ($result->num_rows == 0 && $_POST['password'] == $_POST['confirmpassword']) {
$insert = "INSERT INTO useraccounts (confirm_code, email, username, passhash,
firstname, lastname, gender, phone, address, userlevel, confirmed)
VALUES ('$confirm_code', '$email', '$_POST[username]', '$passhash', '$_POST[firstname]',
'$_POST[lastname]', '$_POST[gender]', '$_POST[phone]', '$_POST[address]', 'user', 'false')";
$add_member = $conn->query($insert); // executes query $insert (adds user to table)
//send confirmation email if user is added to useraccounts
if($add_member) {
//send email to
$to = $email; // $email = $_POST['email'] is present at top
//email subject
$subject = 'Registration Confirmation';
//email message
$message = 'my message goes here';
$headers = 'From myname';
//send email
$sentmail = mail($to,$subject,$message,$headers);
//if email is sent
if($sentmail){
echo "Your Confirmation link has been sent to your email address.";
} else {
echo "Cannot send Confirmation link to your email address."; // this statement is the output
} // end if email is sent
} else {
echo "Cannot send Confirmation link to your email address.";
} // end if member is added
}
任何帮助将不胜感激 :)