0

PHPを使用して登録が成功したときにユーザーにメールを送信するために、スクリプトをコーディングしようとしています。メールは送信されませんが、ユーザーはデータベースに正常に登録されます。これが私のコードです:

<?php
function send_mail($id,$name,$email,$password)
{   
    $from='Admin <admin@mydomain.com>';
    $headers = '';
    $headers .= "From: $from\n";
    $headers .= "Reply-to: $from\n";
    $headers .= "Return-Path: $from\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";
    $headers .= "Date: " . date('r', time()) . "\n";
    $headers .= "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

}
$subject = "Welcome!";
$message = "
<p></p><br>
Hi ".$name."<br>
Thank you for registering for the event.<br><br>
Your ID is ".$id."<br>
Login using your email id : ".$email." and,<br>
your password : ".$password."<br><br>
";


mail($email,$subject,$message,$headers);
?>

私のregister.phpスクリプトには、次のものが含まれています。

send_mail($u_id,$u_name,$_POST['email'],$password)

関数のパラメータはid(INT)、name(VARCHAR)、email(VARCHAR) & password(VARCHAR)です。

4

2 に答える 2

1

あなたの mail() 関数は send_mail() 関数の外にあると思います。

に変えて、

function send_mail($id,$name,$email,$password)
{   
    $from='Admin <admin@mydomain.com>';
    $headers = '';
    $headers .= "From: $from\n";
    $headers .= "Reply-to: $from\n";
    $headers .= "Return-Path: $from\n";
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\n";
    $headers .= "Date: " . date('r', time()) . "\n";
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

    $subject = "Welcome!";
    $message = "
    <p></p><br>
    Hi ".$name."<br>
   Thank you for registering for the event.<br><br>
   Your ID is ".$id."<br>
   Login using your email id : ".$email." and,<br>
   your password : ".$password."<br><br>";


  mail($email,$subject,$message,$headers);

}
于 2013-01-23T10:49:08.087 に答える
0

サブ関数の前ではなく、メール関数の後に関数ループを閉じます

于 2013-01-23T10:53:32.207 に答える