Non retour php de data ajax

Par Benoit Martinet, il y a 7 ans


Bonjour à tous et merci par avance

J'essaie d'envoyer un mail à partir de jquery-mobile j'ai donc découvert ajax et suis parvenu à envoyer le mail en revanche une fois le formulaire validé et envoyé je n'ai pas le retour escompté de mon fichier "php" pour afficher le résultat à l'utilisateur sous forme de boite de dialogue prévue à cet effet.

Voci le fichier html + js suivi du mail.php
<html>
<head>
<meta charset="utf-8">
<title>Livre blanc</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<meta name="copyright" content=" ">
<link rel="stylesheet" href="themes/style-gdp.css"><!--feuille de style de benoit pour intégration de la vidéo responsive-->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /><!--feuille de style jquery mobile-->
<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script> <!--fichiers Jquery puis jquery mobile de JS-->
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src="js/gdp.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
</head>
<body>
<!--boite de dialogue mail-->
<div data-role="page" id="boite-mail" data-theme="a" data-dialog="true">

            <div data-role="header" data-theme="b">
                <H4>Synthèse</H4>
    </div>

            <div data-role="content">
      <table>
        <tr><td style="padding-left:15px;">Obtenez gratuitement la synthèse<br>des fondamentaux de la gestion de projet</td><td><img src="images/livre.png" width="80px" alt="logo"></td></tr>
      </table>
                  <form id="form" method="post"  action="mail.php">
              <div data-role="fieldcontain"> <!--ceontenur de formulaires-->
                              <label for="nom">Nom:</label><input type="text" name="nom" id="nom" required placeholder="Nom" />
                  <label for="prenom">Prénom:</label><input type="text" name="prenom" id="prenom" required placeholder="Prénom"/>
                  <label for="prenom">Fonction:</label><input type="text" name="fonction" id="fonction" required placeholder="fonction"/>
                  <label for="email">Email:</label><input type="email" name="email" id="email" required placeholder="remi.bachemet@exemple.com"/>
                  <label for="prenom">Téléphone:</label><input type="tel" name="tel" id="tel" required placeholder="0607080900"/>

                  <input type="submit" id="envoyer" class="centrer" value="Envoyez la demande"/>
              </div>
                    </form>
            </div>
        </div>
  <script>
  $(document).ready(function(){
      $("#form").submit(function(e){ //sur clic envoie d'une requete http en ajax pour un mail
          e.preventDefault();
          $.post(
              'mail.php',
              {
                nom: $("#nom").val(),
                prenom: $("#prenom").val(),
                tel: $("#tel").val(),
                fonction: $("#fonction").val(),
                email:$("#email").val()
              },

              function(data){
                if(data=='success'){
                      swal({
                     title: "Info GDP-APP!",
                     text: "Votre demande a été transmise avec succès",
                     icon: "info",
                     button: "OK",
                     });

                //  alert('Votre demande a été transmise');
                }else{
                  //alert('Erreur lors de la connexion');
                  swal({
                 title: "Info GDP-APP!",
                 text: "Erreur lors de l'exécution de la demande",
                 icon: "warning",
                 button: "OK",
                 });
                }
              },

              'text'
          );

      });

  });
  //la fonction data contient le retour du traitement php successou error
  </script>

</body>

</html>

<?php
if(isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email'])&& isset($_POST['tel'])&& isset($_POST['fonction'])){
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];
$email= $_POST['email'];
$tel= $_POST['tel'];
$fonction= $_POST['fonction'];
$to= 'cbvmmb@gmail.com';
$subject='livre-blanc-gdp';
$message= $nom .'-'. $prenom .'-'. $email .'-'. $tel .'-'.$fonction;
//envoie du mail à paul
mail($to,$subject,$message);
echo "success";
} ?>

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

8 réponses

Benoit Martinet, il y a 7 ans

oui pas depuis u smartphone. est-ce que tu as une idée d'ou cela pourrait venir ?

Pierrot01, il y a 7 ans

Salut,

<?php if(isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email'])&& isset($_POST['tel'])&& isset($_POST['fonction'])){ $nom= $_POST['nom']; $prenom= $_POST['prenom']; $email= $_POST['email']; $tel= $_POST['tel']; $fonction= $_POST['fonction']; $to= 'cbvmmb@gmail.com'; $subject='livre-blanc-gdp'; $message= $nom .'-'. $prenom .'-'. $email .'-'. $tel .'-'.$fonction; //envoie du mail à paul mail($to,$subject,$message); echo "success"; }else{ echo 'ratééééééé, y fô mettre tous les champs !!!!!'; }?>

@pluche

Pierre

Benoit Martinet, il y a 7 ans

Merci beaucoup pierre de votre réponse mais en revanche cela ne change rien

Pierrot01, il y a 7 ans

tu obtiens quoi exactement ?

Pierrot01, il y a 7 ans

bah si, tu reçois success ;)

image

tu dois avoir des blancs au début de ton fichier mail.php
vire les ;)

@plus
Pierre

Pierrot01, il y a 7 ans

tu as acces à internet depuis ton mobil ?
y a aucune raison qu'il y ai une différence en mobil et pc ;)

affiche tes données pour voir le retour :

function(data){ console.log(data); // ou alert(data); ...............................

sinon :

}else{ //alert('Erreur lors de la connexion'); swal({ title: "Info GDP-APP!", text: "Erreur "+data+" lors de l'exécution de la demande", icon: "warning", button: "OK", }); }

au moind, t'auras des info de débogage

@plus
Pierre

Benoit Martinet, il y a 7 ans

merci pierre j'essaie