定数と mail() 関数の両方に関する php.net のドキュメントを読みましたが、現在の問題を解決できません。
フォームのすべてが正しく、いくつかの正規表現をチェックすると、ユーザーをデータベースに追加し、2 つのことを実行する登録スクリプトを作成しようとしています。ありがとうページを表示し、ありがとうを提供した電子メール アドレスに電子メールを送信します。ノート。
if(empty($reg_errors)) {
$q = "SELECT email, username FROM users WHERE email = '$e' OR username = '$u'"; //the mysql query to check for dupe emails/users
$r = mysqli_query($dbc, $q);
$rows = mysqli_num_rows($r);
if($rows==0) { // no dupes of email or user, so let's add them into the DB!
$q = "INSERT INTO users(username,email,pass,first_name,last_name,date_expires) VALUES('$u','$e','".get_password_hash($p)."','$fn','$ln',ADDDATE(NOW(),INTERVAL 1 MONTH))";
$r = mysqli_query($dbc, $q);
//asks DB if a new row was created, and if so, thanks user for registration on the site & sends an email to their email.
//if query doesnt work, an error is triggered
if(mysqli_affected_rows($dbc)==1) {
echo '<h3>Thanks!</h3><p>Thank you for registering! You may now log in and access the site\'s content.</p>';
$body = "Thanks for registering at Knowledge is Power. We greatly appreciate your interest in our services.\n\n";
mail($_POST['email'],'Registration Confirmation for Knowledge is Power',$body, 'From:DEVEMAIL');
include('./includes/footer.inc.php');
exit();
} else {
trigger_error("You could not be registered due to a system error. W apologize for any inconvenience.");
}
}
config.inc.php ファイルに DEVEMAIL 定数を次のように設定しました。
define('DEVEMAIL','something@thisplace.com');
これまでのところ、このスクリプトのテストでは、ユーザーを DB に追加し、お礼のメッセージを表示しますが、お礼のメールを送信すると、それは私の一般的なホストのメール アドレスからのものであり、私が設定したメールではありません。絶え間ない。mail() 関数の定数のフォーマットが間違っていますか? ありがとうございました。
編集: メールサーバーが構成されており、準備済みステートメントの作成を検討しています。役立つ提案をありがとう。