Faire cohabiter deux formulaires dans une page

Eléphanteau du PHP | 21 Messages

21 sept. 2014, 20:50

Bonjour,

Je souhaite proposer 2 formulaires dans une seule page web.
Grâce déjà à une aide sur ce forum j'ai fait fonctionner le formulaire (issu d'un template dont la technique me dépasse quelque peu).
J'ai voulu dupliquer pour créer un autre formulaire, mais cela ne fonctionne pas complètement.

Le premier formulaire qui apparait dans ma page (vmarce.phpnet.org/payfair/meilleur), est celui qui ne fonctionne pas.
On voit déjà le premier problème sous le bouton Envoyer qui affiche les deux messages résultats, qui ne doivent apparaitre qu'après tentative d'envoi de l'email et jamais en même temps comme là.
L'autre problème, mais c'est sans doute lié, est qu'aucun email n'est envoyé.

Le deuxième formulaire, formulaire de contact qui apparait plus bas dans la page, fonctionne correctement.

J'ai travaillé sur le code html, le code js qui l'accompagne et le code php de la page destinataire des données... Sans succès.

Merci par avance pour votre aide,

Vince

Eléphant du PHP | 386 Messages

21 sept. 2014, 23:19

Bonjour,

Poste directement le code de ton formulaire qui ne fonctionne pas.
Le problème peut venir du PHP, et il n'y a que toi qui peut nous le faire parvenir pour qu'on t'aide.

Eléphanteau du PHP | 21 Messages

22 sept. 2014, 21:26

Bonjour,

Voici donc mes deux codes php appelés par les formulaires :

Le fichier send_form_preinsc.php :

Code : Tout sélectionner

<?php $nom = $_POST['nom']; $adremail = $_POST['adremail']; $entreprise = $_POST['entreprise']; $taille = $_POST['taille']; $commentaire = $_POST['commentaire']; // EDIT THE 2 LINES BELOW AS REQUIRED $send_email_to_preinsc = "[email protected]"; $email_subject_preinsc = "Pre-inscription a Pay Fair"; function send_email($nom,$adremail,$entreprise,$taille,$commentaire) { global $send_email_to_preinsc; global $email_subject_preinsc; $headers_preinsc = "MIME-Version: 1.0" . "\r\n"; $headers_preinsc .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers_preinsc .= "From: ".$adremail. "\r\n"; $message_preinsc = "<strong>Email = </strong>".$adremail."<br>"; $message_preinsc .= "<strong>Nom = </strong>".$nom."<br>"; $message_preinsc .= "<strong>Entreprise = </strong>".$entreprise."<br>"; $message_preinsc .= "<strong>Taille = </strong>".$taille."<br>"; $message_preinsc .= "<strong>Commentaire = </strong>".$commentaire."<br>"; @mail($send_email_to_preinsc, $email_subject_preinsc, $message_preinsc,$headers_preinsc); return true; } function validate($nom,$adremail,$entreprise,$taille,$commentaire) { $return_array = array(); $return_array['success_preinsc'] = '1'; $return_array['nom_msg'] = ''; $return_array['adremail_msg'] = ''; $return_array['entreprise_msg'] = ''; $return_array['commentaire_msg'] = ''; if($adremail == '') { $return_array['success_preinsc'] = '0'; $return_array['adremail_msg'] = 'Saisissez votre email svp'; } else { $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$adremail)) { $return_array['success_preinsc'] = '0'; $return_array['adremail_msg'] = 'Saisissez un email valide svp'; } } if($nom == '') { $return_array['success_preinsc'] = '0'; $return_array['nom_msg'] = 'Saisissez votre nom svp'; } else { $string_exp = "/^[A-Za-z .'-]+$/"; if (!preg_match($string_exp, $nom)) { $return_array['success_preinsc'] = '0'; $return_array['nom_msg'] = 'Saisissez un nom valide svp'; } } if($entreprise == '') { $return_array['success_preinsc'] = '0'; $return_array['entreprise_msg'] = 'Saisissez une entreprise svp'; } else { if (strlen($entreprise) < 2) { $return_array['success_preinsc'] = '0'; $return_array['entreprise_msg'] = 'Saisissez une entreprise valide svp'; } } if (strlen($commentaire) < 2) { $return_array['success_preinsc'] = '0'; $return_array['commentaire_msg'] = 'Saisissez un commentaire valide svp'; } return $return_array; } $return_array = validate($nom,$adremail,$entreprise,$taille,$commentaire); if($return_array['success_preinsc'] == '1') { send_email($nom,$adremail,$entreprise,$taille,$commentaire); } header('Content-type: text/json'); echo json_encode($return_array); die(); ?>
Le fichier formulaire send_form_email :

Code : Tout sélectionner

<?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; // EDIT THE 2 LINES BELOW AS REQUIRED $send_email_to = "[email protected]"; $email_subject = "Contact au sujet de Pay Fair"; function send_email($name,$email,$email_message) { global $send_email_to; global $email_subject; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers .= "From: ".$email. "\r\n"; $message = "<strong>Email = </strong>".$email."<br>"; $message .= "<strong>Name = </strong>".$name."<br>"; $message .= "<strong>Message = </strong>".$email_message."<br>"; @mail($send_email_to, $email_subject, $message,$headers); return true; } function validate($name,$email,$message) { $return_array = array(); $return_array['success'] = '1'; $return_array['name_msg'] = ''; $return_array['email_msg'] = ''; $return_array['message_msg'] = ''; if($email == '') { $return_array['success'] = '0'; $return_array['email_msg'] = 'Saisissez votre email svp'; } else { $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email)) { $return_array['success'] = '0'; $return_array['email_msg'] = 'Saisissez un email valide svp'; } } if($name == '') { $return_array['success'] = '0'; $return_array['name_msg'] = 'Saisissez votre nom svp'; } else { $string_exp = "/^[A-Za-z .'-]+$/"; if (!preg_match($string_exp, $name)) { $return_array['success'] = '0'; $return_array['name_msg'] = 'Saisissez un nom valide svp'; } } if($message == '') { $return_array['success'] = '0'; $return_array['message_msg'] = 'Saisissez un message svp'; } else { if (strlen($message) < 2) { $return_array['success'] = '0'; $return_array['message_msg'] = 'Saisissez un message valide svp'; } } return $return_array; } $return_array = validate($name,$email,$message); if($return_array['success'] == '1') { send_email($name,$email,$message); } header('Content-type: text/json'); echo json_encode($return_array); die(); ?>
Il y a aussi le code js custom.js

Code : Tout sélectionner

$(function () { $('a.folio').fancybox(); $('#portfolio').mixitup(); $('.nav-tabs a').click(function (e) { e.preventDefault(); $(this).tab('show'); }) $('.navbar-nav a').click(function (e) { e.preventDefault(); $(this).parent('li').toggleClass('active'); $(this).parent('li').siblings('.active').removeClass('active'); }) $('.header .navbar-nav a').smoothScroll(); $('#jump2top').css('bottom', '-100px'); $(window).scroll(function () { var btn = $('#jump2top'); if ($(this).scrollTop() > 100) { btn.stop().animate({ 'bottom': '0' }, 200); } else { btn.stop().animate({ 'bottom': '-100px' }, 200); } }); $('#jump2top').smoothScroll(); $('#contact_form').on('submit', function(e) { $('#button-send').html('Sending E-Mail...'); e.preventDefault(); var $this = $(this); var name = $('#name').val(); var email = $('#email').val(); var message = $('#message').val(); if(name === '' || email === '' || message=== '') { alert('Les champs doivent êtres remplis'); } else { $.ajax({ url: $this.attr('action'), type: $this.attr('method'), data: $this.serialize(), dataType: 'json', // JSON success: function(html) { // récup du json/php if (html.success == '1') { $('#button-send').html('Mail envoyé'); $('#success').show(); }else { $('#button-send').html('Mail en erreur'); $('#error').show(); } } }); } }); $('#preinsc_form').on('submit', function(e) { $('#button-send_preinsc').html('Sending email...'); e.preventDefault(); var $this = $(this); var nom = $('#nom').val(); var adremail = $('#adremail').val(); var entreprise = $('#entreprise').val(); if(nom === '' || adremail === '' || entreprise=== '') { alert('Les champs nom, email, entreprise doivent êtres renseignés svp'); } else { $.ajax({ url: $this.attr('action'), type: $this.attr('method'), data: $this.serialize(), dataType: 'json', // JSON success_preinsc: function(html) { // récup du json/php if (html.success_preinsc == '1') { $('#button-send_preinsc').html('Mail envoyé'); $('#success_preinsc').show(); }else { $('#button-send_preinsc').html('Mail en erreur'); $('#error_preinsc').show(); } } }); } }); }); function scrollTo(elem) { $('body,html').animate({ scrollTop: elem.offset().top }, 500); } function valemail(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); }
Merci pour votre aide,

Vince

ViPHP
ViPHP | 1996 Messages

23 sept. 2014, 21:34

Qu'est ce qui ne fonctionne pas ? Reçois-tu les données dans la page de destination ?
Fais un var_dump ($_POST); dans la page de destination pour vérifier si les données émanant du formulaire choisi lui sont bien envoyées.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 151 Messages

24 sept. 2014, 12:52

Il manque juste la page qui contient les formulaires !
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Eléphanteau du PHP | 21 Messages

24 sept. 2014, 21:02

Oui effectivement,

Voici le code html :

Code : Tout sélectionner

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PAY FAIR - Venez révolutionner les délais de paiement !</title> <!-- Stylesheets --> <link type="text/css" href="css/bootstrap.css" rel="stylesheet"> <link href='http://fonts.googleapis.com/css?family=Roboto:400,400italic,700,700italic,500italic,500,300italic,300' rel='stylesheet' type='text/css'> <link type="text/css" href="icons/font-awesome/css/font-awesome.css" rel="stylesheet"> <link type="text/css" href="icons/rondo/style.css" rel="stylesheet"> <link href="css/jquery.fancybox.css" rel="stylesheet" type="text/css" /> <link type="text/css" href="css/style.css" rel="stylesheet"> </head> <body > <header class="header" id="jump"> <nav class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span> </button> <a class="navbar-brand" href="#"> <img src="img/logo.png" alt="" /></a> </div> <div class="collapse navbar-collapse hidden-xs"> <ul class="nav navbar-nav navbar-right"> <li class="active"><a href="#jump0">Accueil</a></li> <li><a href="#jump1">Description</a></li> <li><a href="#jump2">Bénéfices</a></li> <li><a href="#jump3">Pionniers</a></li> <li><a href="#jump4">Pré-inscription</a></li> <li><a href="#jump5">Testimonials</a></li> <li><a href="#jump6">Contact Us</a></li> </ul> </div> <!-- /.navbar-collapse --> <div class="collapse navbar-responsive-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#jump0" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Home</a></li> <li><a href="#jump1" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Services</a></li> <li><a href="#jump2" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Portfolio</a></li> <li><a href="#jump3" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Pricing</a></li> <li><a href="#jump4" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Team</a></li> <li><a href="#jump5" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Clients</a></li> <li><a href="#jump6" data-toggle="collapse" data-target=".navbar-responsive-collapse"> Contact</a></li> </ul> </div> <!-- /.navbar-responsive-collapse --> </div> </nav> </header> <div class="jumper" id="jump0"> </div> <div class="section type-1 big splash"> <div class="splash-cover"> </div> <div class="container"> <div class="splash-block"> <div class="centered"> <div class="container"> <div class="section-headlines"> <h1> <font style="font-size: 54.0pt; color: #00b0f0;">PAY</font> <font style="font-size: 54.0pt; color: #f79646;">FAIR</font> </br> <font style="font-size: 27.0pt; color: #00b0f0;">Venez</font> <font style="font-size: 27.0pt; color: #f79646;">révolutionner</font> <font style="font-size: 27.0pt; color: #00b0f0;">les délais de paiement</font> <font style="font-size: 27.0pt; color: #f79646;">!</font> </h1> <p> <b>Agissons ensemble, pour réduire la gestion des encaissements et leurs impacts sur la trésorerie, au strict minimum !</b></p> </div> </div> </div> </div> </div> </div> <div id="jump1" class="jumper"> </div> <div class="section type-2"> <div class="container"> <div class="section-headlines"> <font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">Prenez part à </font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">une action inédite </font><font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">!</font> <div> </br> <font style="font-size: 13.0pt; font-weight: bold;">AGISSONS ENSEMBLE, POUR REDUIRE AU STRICT MINIMUM</br> LA GESTION DES ENCAISSEMENTS ET LEURS IMPACTS SUR LA TRESORERIE !</font> </br> </br> Une entreprise doit en effet pouvoir concentrer 100% de ses moyens sur son cœur de métier pour croître et innover ! </br> Elle ne doit plus s’épuiser sur les tâches périphériques comme le suivi des délais de paiement.</br> </br> <b>C’est le crédo de PAY FAIR dont l’objectif est de <font style="font-size: 11.0pt; font-weight: bold;">LIBERER VOTRE TEMPS, VOTRE BUDGET ET VOS ENERGIES.</font></b> </br> </br></br> <font style="font-size: 11.0pt; font-weight: bold;">3 LEVIERS SONT MOBILISES</font> pour cela : </br> </br> <ul> <li> La force d’un <b>réseau</b> d’entreprises fiables qui se soutiennent</li> </br> <li> L’application de la <b>loi</b></li> </br> <li> L’envie d’<b>éthique</b> dans la vie économique.</li> </ul> </div> </div> </div> </div> <div id="jump2" class="jumper"> </div> <div class="section type-1" style="padding-bottom: 0"> <div class="container"> <div class="section-headlines"> <font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">Les bénéfices </font><font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">PAY </font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">FAIR</font> <div> </br> PAY FAIR s’appuie sur <b>une logique incitative positive pour :</b></br> <ul></br> <li><b>Sensibiliser et inciter vos clients à payer dans les temps</b>, voire à améliorer leurs délais de paiement</li> </br> <li><b>Vous donner une image de partenaire de confiance</b> afin de bénéficier de conditions d’achats avantageuses auprès de vos fournisseurs</li> </br> </ul> PAY FAIR rassemble <b>une communauté de partenaires potentiels sensibles à la tenue des délais de paiement</b> : un sésame de confiance entre entreprises pragmatiques et éthiques.</br> </br> PAY FAIR propose <b>une base de connaissances</b> claire pour <b>maîtriser les aspects contractuels</b> de la relation client- fournisseur et notamment le fonctionnement des délais.</br> </br> PAY FAIR en outre donne à ses adhérents <b>de la visibilité en tant qu’entreprises exemplaires</b> (RSE), mais aussi <b>une voix en tant que groupe d’influence</b>.</br> </br> </div> </div> </div> </div> <div id="jump3" class="jumper"> </div> <div class="section type-2"> <div class="container"> <div class="section-headlines"> <font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">Soyez parmi </font><font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">les pionniers </font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">!</font> <div> </br> Le <b>projet</b> PAY FAIR est en <b>phase de pré-lancement</b>. </br> Nous en profitons pour recruter nos premiers membres et recueillir vos avis.</br> </br> Pour réussir, nous devons dans un premier temps réunir un noyau suffisant d’entreprises. </br> A partir de lui des synergies apparaîtront et des services novateurs pourront être mis en place. </br> [Et demain plus encore !] </br> </br> <b>Nous rejoindre aujourd’hui, c’est soutenir ce projet en disant simplement votre envie que les choses changent. Nous ne vous demandons pas de justifier d’une conduite parfaite !</b> </div> </div> </div> </div> <div id="jump4" class="jumper"> </div> <div class="section type-1 section-contact"> <div class="container"> <div class="section-headlines"> <font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">Pré-</font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">inscrivez </font><font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">vous </font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">!</font> <div> </br> Merci pour votre confiance et votre engagement !</br> </br> <b>Nous revenons vers vous au plus vite, avec des CONDITIONS PREFERENTIELLES.</b> </div> </div> <div class="row"> <div class="col-lg-7 col-lg-offset-1"> <form method="post" action="send_form_preinsc.php" id="preinsc_form"> <div class="form-group"> <div class="row"> <div class="col-lg-6"> <input type="text" class="form-control" id="nom" name="nom" placeholder="Votre Nom *"><br class="gap-15" /> </div> <div class="col-lg-6"> <input type="text" class="form-control" id="adremail" name="adremail" placeholder="Votre Email *"></div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-lg-6"> <input type="text" class="form-control" id="entreprise" name="entreprise" placeholder="Votre Entreprise *"><br class="gap-15" /> </div> <div class="col-lg-6"> <select name="taille"> <option value="Moins de 10 salariés">Moins de 10 salariés</option> <option value="Entre 10 et 49 salariés">Entre 10 et 49 salariés</option> <option value="Entre 50 et 99 salariés">Entre 50 et 99 salariés</option> <option value="Entre 100 et 249 salariés">Entre 100 et 249 salariés</option> <option value="Entre 250 et 499 salariés">Entre 250 et 499 salariés</option> <option value="Entre 500 et 999 salariés">Entre 500 et 999 salariés</option> <option value="Plus de 1000 salariés">Plus de 1000 salariés</option> <option value="Structures d’appui">Structures d’appui</option> </select></div> </div> </div> <div class="form-group"> <textarea class="form-control" id="commentaire" name="commentaire" rows="4">Commentaire éventuel</textarea> </div> <button id="button-send_preinsc" class="btn btn-block btn-success" type="submit"> Envoyer </button> <div id="success_preinsc"> Votre pré-inscription a bien été enregistrée, merci !</div> <div id="error_preinsc"> Echec de l'enregistrement, essayez à nouveau svp.</div> </form> </div> </div> </div> </div> <div id="jump5" class="jumper"> </div> <div class="section type-2"> <div class="container"> <div class="section-headlines"> <font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">Et demain </font><font style="font-size: 27.0pt; color: #00b0f0; font-weight: bold;">plus encore </font><font style="font-size: 27.0pt; color: #f79646; font-weight: bold;">!</font> <div> </br> Nos outils pour accompagner ce changement sont déjà là. Ils ont été imaginés en collaboration avec des entrepreneurs « amis ». </br> Nous continuerons à les faire évoluer en tenant compte de vos besoins. </br> Ils vous seront proposés dès lors que la communauté sera suffisamment étoffée.</br> </div> </div> </div> </div> <div id="jump6" class="jumper"> </div> <div class="section type-1 section-contact"> <div class="container"> <div class="section-headlines"> <h4> Contact Us</h4> <h2> Let's have a coffee</h2> <a href="#" class="toggler" rel="nofollow">Cliquez sur ce premier lien</a>. <div class="toggle" style="display:none;">Ce texte apparaît grâce à un script javascript écrit pour JQuery et utilise la fonction <code>toggle()</code>.</div> </br> <a href="#" class="toggler" rel="nofollow">Maintenant, cliquez sur ce deuxième lien</a>. <div class="toggle" style="display:none;">Ce texte appartient au 2ème lien.</div> </div> <div class="row"> <div class="col-lg-4"> <address> <div class="address-row"> <div class="address-sign"> <i class="icon-map-marker"></i> </div> <div style="address-info"> <b>Single Page Responsive Template</b>,<br> Using Twitter Bootstrap 3,<br> EGrappler.com </div> </div> </address> <div class="visible-xs visible-sm"> <br class="gap-30" /> <hr class="gap-divider" /> <br class="gap-30" /> </div> </div> <div class="col-lg-7 col-lg-offset-1"> <form method="post" action="send_form_email.php" id="contact_form"> <div class="form-group"> <div class="row"> <div class="col-lg-6"> <input type="text" class="form-control" id="name" name="name" placeholder="Your Name *"><br class="gap-15" /> </div> <div class="col-lg-6"> <input type="text" class="form-control" id="email" name="email" placeholder="Your Email *"> </div> </div> </div> <div class="form-group"> <textarea class="form-control" id="message" name="message" rows="8"></textarea> </div> <button id="button-send" class="btn btn-block btn-success" type="submit"> Envoyer </button> <div id="success"> Message bien transmis, merci !</div> <div id="error"> Message non transmis, essayez à nouveau svp.</div> </form> </div> </div> </div> </div> <footer class="footer"> <div class="container"> <div class="row"> <div class="col-lg-12"> Meilleur - A Free Responsive Bootstrap 3 Template &copy; 2014 - <a href="http://www.egrappler.com"> EGrappler.com</a> </div> </div> </div> </footer> <!--Scripts--> <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="js/bootstrap.min.js"></script> <script type="text/javascript" src="js/jquery.smooth-scroll.min.js"></script> <script type="text/javascript" src="js/jquery.mixitup.min.js"></script> <script src="js/jquery.easing.1.3.js" type="text/javascript"></script> <script src="js/modernizr.js" type="text/javascript"></script> <script src="js/jquery.fancybox.pack.js" type="text/javascript"></script> <script type="text/javascript" src="js/custom.js"></script> <script type="text/javascript" src="js/toggle.js"></script> </body> </html>
Les informations ne sont peut-être pas passées. Cependant c'est un problème que j'avais sur le formulaire de contact et qui a été résolu (ici d'ailleurs, par Arnaud).

Vince

ViPHP
ViPHP | 1996 Messages

26 sept. 2014, 11:42

Salut,

le type="submit" de la balise <button> n'existe pas en HTML. Est ce qu'un javascript (j'ai pas tous lu : trop long désolé) est activé quand tu cliques sur le bouton ?
Si non, remplace <button> par <input> : ex :

ex :
<button id="button-send_preinsc" class="btn btn-block btn-success" type="submit">
Envoyer
</button
>

par
<input id="button-send_preinsc" class="btn btn-block btn-success" type="submit" value="Envoyer" >
Et ajoutes var_dump ($_POST); en haut des pages send_form_preinsc.php et send_form_email.php pour vérfier ques les données arrivent bien et qu'elles sont sous le bon format
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 21 Messages

27 sept. 2014, 21:35

Merci,

Je préférais passer par le button mais n'y parvenant pas j'ai tenté ta solution.
Malheureusement, en remplaçant le button par le input... il ne se passe rien de plus, c'est à dire toujours rien. Je ne comprends vraiment pas...

Une autre idée ?

Eléphanteau du PHP | 21 Messages

27 sept. 2014, 21:54

Bon.... j'ai trouvé une partie de la réponse... Autant dire que je ne suis pas fier... Le fichier portait un nom erroné...

Maintenant cependant, lorsque je clique sur le bouton envoyer je reçois bien un email, mais le bouton reste à l'état (affiche le message) : "Sending email..."

Voyez-vous le problème dans le code qui gère cela svp ?

Code : Tout sélectionner

$('#preinsc_form').on('submit', function(e) { $('#button-send_preinsc').html('Sending email...'); e.preventDefault(); var $this = $(this); var nom = $('#nom').val(); var adremail = $('#adremail').val(); var entreprise = $('#entreprise').val(); if(nom === '' || adremail === '' || entreprise=== '') { alert('Les champs nom, email, entreprise doivent êtres renseignés svp'); } else { $.ajax({ url: $this.attr('action'), type: $this.attr('method'), data: $this.serialize(), dataType: 'json', // JSON success_preinsc: function(html) { // récup du json/php if (html.success_preinsc == '1') { $('#button-send_preinsc').html('Mail envoyé'); $('#success_preinsc').show(); }else { $('#button-send_preinsc').html('Mail en erreur'); $('#error_preinsc').show(); } } }); } });
Merci,

Vince

Eléphanteau du PHP | 21 Messages

30 sept. 2014, 20:42

Svp ?

Merci,

Vince

Eléphant du PHP | 151 Messages

07 oct. 2014, 09:36

Il faut que la page qui est appelée dans ton js renvoie un true ou false en cas d'erreur.
Or, je ne vois pas d'url appelée dans ton js... #-o
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");