0

Print="エラーが発生しました"

$error = "ERROR HAPPENED".$order."\r\n";
$error_email = mail($to, $subject, $error, $headers2);
$mail = @mail($email, $subject, $confirmation, $headers2);

if ($mail) {
    header("Location: http://www.test.com" );
} else ($error_email);
4

2 に答える 2

0

あなたのコードは少し不明確です - 質問すると役に立ちます...

ただし、これにはlog4phpなどのロギング フレームワークを使用することをお勧めします。これには電子メール オプションが含まれているため、エラーをメールで受け取るか、ディスクまたは OS ログ ファイルに書き込むことができます。

電子メールは完全に安全ではないことに注意してください。傍受されやすく、暗号化されていません。$order 変数で機密データを送信していないことを願っています。

最後に、あなたのコードはおそらくあなたが望んでいることをしていません。

$error = "ERROR HAPPENED".$order."\r\n";

エラー文字列を作成します ($order が適切に印刷可能であると仮定します)。

$error_email = mail($to, $subject, $error, $headers2);

$to にメールを送信します。$error_email はブール値になりました。

$mail = @mail($email, $subject, $confirmation, $headers2);

$email にメールを送信します。エラーを抑制します。$mail はブール値です。

if ($mail) {
    header("Location: http://www.test.com" );

メールが ($email に) 正常に送信された場合、ユーザーをリダイレクトします。

} else ($error_email);

メールが正常に送信されなかった場合、何をしようとしているのかわからない...

アプリケーション ロジックをランダムな「メールを送信できましたか」というランダムな成功に結び付けるのは得策ではありません。

于 2013-05-02T21:18:18.430 に答える
0

else の後に括弧を使用していません。

if($mail)
{
    header("Location: http://www.test.com");
}
else
{
    mail($to, $subject, $error, $headers2);
    echo $error;
}

また、 echo $error を使用したことがないため、エラーを出力できませんでした。

于 2013-05-02T21:17:17.147 に答える