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


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

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

tu obtiens quoi exactement ?

rien aucun message ne revient voici le lien [(http://mediafood.org/gdp/contact.html)]

bah si, tu reçois success ;)

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

@plus
Pierre

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

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

merci pierre j'essaie