Partage

Ajax Php mail

Php Ajax

19 mai 2017 à 20:10:28

Bonjour

Pas très fauté en débogage, suite à une form, je récupère le mai d'un compte à qui je vais envoyer un message.  Le script Php d'envois de message fonction bien

séparément mais elle ne se déclencha pas   via Ajax.  Si vous avez une idée de débogage, je suis preneur.  Voici donc le fichier Html disons Adduer

<script type="text/javascript">

function CheckMail()
{
        var mail = document.getElementById('email').value;
        var emailFilter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
        if (!emailFilter.test(mail)) 
        {
                return false;
        }
        return true;
}

function onSuccess(data, status)
{
        data = $.trim(data);
        $('#adduser').modal('hide'); 

        alert("Succes");
        if( data === "0" )
        {
                BadUser();
        }
        else
        {
                var w = "/index.php?lang=" + "Fr" ;
                window.location.replace(w);
                return true;
        }
}
  
function onError(data, status)
{
        alert("on Error");
}

$( "#adduser" ).submit(function( event ) {
  event.preventDefault();
        m = CheckMail();
        if ( ! m ) { AffModalError('Veuillez entrer votre Email'); return false; }

        var formData = $("#adduser").serialize();
        $.ajax({
             type: "POST",
             url: "/Root/Fr/Php/SendMsg2User.php",
             cache: false,
             data: formData,
             success: onSuccess,
             error: onError
           });
           return false;
});

</script>

<div class="AddUser">
 <div class="modal-content">
  <div class="modal-header">
   <button type="button" class="close" data-dismiss="modal" >&times;</button>
     <h4 class="modal-title">Creation de compte</h4>
  </div>

<form class="form-horizontal" id="adduser" name="adduser" method="post" />
  <div class="modal-header">
   <div class="form-group">
    <div class="col-md-10" style="margin-left:9%">
     <input type="mail" class="form-control" id="email" name="email" value="" placeholder="Votre Email *" />
     </div>
<br />

</div>
   <div class="form-group">
   <div class="form-group">
        <button id="submit" name="submit" type="submit" value="Send" class="mySend" >Envoit</button>
     </div>
     </div>
   </div>
</form>
 <div class="modal-footer">
  <span style="float:left"><a href="#adduser" onclick="AddUser();">Devenir membre</a></span>
  <span style="float:right"><a href="#forgotpass" onclick="ForgotPass();">Password oublié</a></span>
 </div>
 </div>
</div>

Voici le fichier  SendMsg2User.php

<?php

date_default_timezone_set('Etc/UTC');
require '/Lib/Php/PHPMailer-master/class.phpmailer.php';

//echo "<script> alert(\"hello\"); <\script>";

$mail->CharSet='UTF-8';
$mail = new PHPMailer;
$mail->IsHTML(true);
$mail->SetFrom('kazem@cyrus.hd.free.fr', 'biato.fr');
$mail->Subject = 'Inscriptio:Biato';
$mail->AddAddress('xyz@gmail.com');

$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->AddAttachment("logo.gif");                // add attachments
$mail->IsHTML(true);                                                              // set email format to HTML

$mail->AddEmbeddedImage('/www/Img/biato.png', 'logo', 'biato.png');


$mail->Subject = "Inscription";

$mail->Body     = '

<div style="color:white; width:550px; margin-left:10%; padding:10px;
background: -moz-linear-gradient(top,  rgba(68,187,187,1) 0%, rgba(34,0,2,1) 75%);
ackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(68,187,187,1)), color-stop(75%,rgba(34,0,2,1)));
ackground: -webkit-linear-gradient(top,  rgba(68,187,187,1) 0%,rgba(34,0,2,1) 75%);
background: -o-linear-gradient(top,  rgba(68,187,187,1) 0%,rgba(34,0,2,1) 75%);
background: -ms-linear-gradient(top,  rgba(68,187,187,1) 0%,rgba(34,0,2,1) 75%);
background: linear-gradient(to bottom,  rgba(68,187,187,1) 0%,rgba(34,0,2,1) 75%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=#44bbbb, endColorstr=#220002,GradientType=0 );

"> <center>
<img src="cid:logo" alt="my photo" height=50px;border=0 />

</center> </div>


<div style="width:550px; margin-left:10%; padding:10px;background: #E6E6E6; ">
<h2>    Bonjour; </h2> </center>
<h4> 
        Pour finir votre inscription, veuillez suivre le lien suivant
        <br /> <br /> <br /> <center>
        <a style="color:black; text-decoration: none;"
                href="//localhost/index.php?act=enreg&id=1234"> href=//localhost/index.php?act=enreg&id=1234</a>
        <br /> <br /> Validation: 3 jours <br /> <br />
        </center>
        <br /> <br /> Merci<br /> <br />

</h4>
</div> </div>
';

$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

?>

Merci pour vos aides




19 mai 2017 à 20:12:24

Salut,

Ici c'est le forum html, pour le php il y a une section dédié

Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable
Staff 19 mai 2017 à 20:35:30

Bonjour, ouvrir plusieurs sujets pour la même problématique rends les forums difficiles à suivre, merci de rester sur un seul sujet https://openclassrooms.com/forum/sujet/ajax-php-mail-1

Je ferme le doublon.