0

次の jQuery コードを使用して、データベースに新しいリストを入力するか、既存のリストを更新する PHP 処理スクリプトにフォーム データを送信しています。

このサイトには、販売中のボートとヨットがリストされています。うまく機能していましたが、クライアントは、新しいボートがリストされたときに電子メール通知を受け取りたいと考えています。そのためにコードを PHP 処理スクリプトに追加しましたが、mail()何らかの理由で使用すると、以下の jQuery コードで成功関数が機能しなくなります。

関数は、それに影響を与える唯一のmail()ものです。その行をコメントアウトすると、再び機能します。

何が起こっているかについてのアイデアはありますか?

$.ajax({  
        type: "POST",  
        url: "scripts/listing_form_json_exec.php", 
        dataType: 'json',   
        data: JSON.stringify(dataString),
        success: function(data) { 
            var yacht_id = (data);
            $('#manage_images_link').attr('href', 'manage_images.php?yacht_id=' + yacht_id);                
            $('input[name=yacht_id]').val(yacht_id);
            $('img.saved').show();
            $('img.saved').fadeOut(3000);
            $('div#button_frame').show();
            $('#errors_container').html('');

        } 
    });

編集

PHPスクリプトは非常に長いですが、ここに問題のある部分があります

    $_SESSION['SESS_YAUCHT_ID'] = $yacht_id;
echo json_encode($yacht_id);

if (isset($message)) {
    //mail($to, $subject, $message, $headers);
}

関数を別の場所に置いmail()てみましたが、どこに置いても同じことが起こります。上記のmail()関数はコメントアウトされており、すべてが機能します。コメントを外すと、スクリプトは機能しなくなります。

4

2 に答える 2

0

試す:

$_SESSION['SESS_YAUCHT_ID'] = $yacht_id;
echo json_encode($yacht_id);

if (isset($message)) {
    if(@mail($to, $subject, $message, $headers)){
            //ok
    } else {
            //error
    }
}
于 2013-05-06T21:05:32.017 に答える