在javascript PHP帖子上发送电子邮件的问题

时间:2019-04-15 01:59:35

标签: javascript php jquery ajax

我在发送电子邮件时遇到问题,但仅限此代码。我还有其他PHP发送电子邮件,但这是AJAX唯一调用的电子邮件。可能是一个异步问题?

此外,我尝试放入一些 回声'console.log(“它在里面”);'; 在php文件上,但从未触发。同样在浏览器的控制台中,它也没有显示任何错误。

我一无所知。

我将返回值添加到了php中,但是并没有解决问题。

function addTurno() { 
    var vnombre = $("#updt_nombrep").val();
    var vapellido = $("#updt_apellidop").val();
    var vnombrecompleto = vnombre + " " + vapellido;
    var vdesosocial = $("#updt_osocialp").val();
    var email_p = $("#updt_emailp").val();
    var email_n = $("#hidden_emailn").val();
    var vtexto = $("#updt_texto").val();
    var vedad = $("#updt_agep").val();
    var vfechac = $("#turno_datepicker").val();
    var vhordes = $("#turno_timepickerd").val();
    var vhorhas = $("#turno_timepickerh").val();
    var vidnutri = $("#hidden_id_nutri").val();
    var T = 'T';
    var resto = '-07:00';
    var vfechad;
    var vfechah;

    var vgcalendar = $("#hidden_updt_glink").val();

    var ano = vfechac.substr(6, 4);
    var mes = vfechac.substr(3, 2);
    var dia = vfechac.substr(0, 2);
    var vfechacedit = ano+'-'+mes+'-'+dia;

    vfechad = vfechacedit.concat(T, vhordes, resto );
    vfechah = vfechacedit.concat(T, vhorhas, resto );


    enviaEmail(vidnutri, vnombre, vapellido, vfechac, email_p, email_n, vtexto, vhordes, vhorhas );
    guardaTurnoGoogle(vgcalendar,vfechad,vfechah,email_n,email_p,vnombrecompleto,vtexto ) ;

}

function enviaEmail(vidnutri,vnombre, vapellido, vfechac, email_p, email_n, vtexto, vhordes, vhorhas ){
    $.ajax({
      type: 'POST',
      url: "ajax/sendEmailTurno.php",
      data: { 
        vidnutri : vidnutri,
        vnombre: vnombre, 
        vapellido: vapellido, 
        vfechac: vfechac, 
        email_p: email_p, 
        email_n: email_n, 
        vtexto: vtexto, 
        vhordes: vhordes,
        vhorhas: vhorhas
        },
      success: function(data, status){
        console.log("Email enviado correctamente");
        },
      async:false
    }); 
}
<?php
    session_start();
    $emaipaciente = $_POST['email_p'];

    if(isset($_SESSION["id"]) && isset($_POST["vidnutri"]) ){

        if ( $_POST["vidnutri"] == $_SESSION["id"] ) {

            $subject = "Turno con Nutricionista";
            $from = "From: ". $_POST['email_n'];
            $from .= "MIME-Version: 1.0\r\n";
            $from .= "Content-type: text/html\r\n";
            $message =
            "
            Estimado" . $_POST['vnombre'] . " " . $_POST['vapellido']. ",
            Recuerde que el " . $_POST['vfechac']. " tiene turno desde las " . $_POST['vhordes']. " hasta las " . $_POST['vhorhas']. " con la nutricionista" . $_SESSION['nombre'] $_SESSION['apellido']. " matrícula " . $_SESSION['matricula'] . ".

            ". $_POST['vtexto']. "

            Gracias, saludos.
            ";

            return mail($emaipaciente,$subject,$message,$from);

        }else{
            $_SESSION['mess'] = 'Error de sesión: logueado en múltiples cuentas?';
            header("Location: ./index.php?modo=TerminarSesion");
        }

    }else{
        $_SESSION['mess'] = 'Error de sesión: no logueado';
        header("Location: ./index.php?modo=TerminarSesion");
    }

?>

1 个答案:

答案 0 :(得分:0)

已解决:在PHP文件$_SESSION['nombre'] $_SESSION['apellido']

中缺少(连接)的点

帮助我的是控制台->网络,看着它是“内部服务器错误”,所以我认为这应该是服务器端错误。

希望我的错误对某人有所帮助,并感谢@charlietfl