Je ne reçois que le nom des variables avec php mailer
Résolu/Fermé
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
-
6 janv. 2022 à 15:21
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 7 janv. 2022 à 00:57
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 7 janv. 2022 à 00:57
A voir également:
- Je ne reçois que le nom des variables avec php mailer
- Je ne recois plus de mail hotmail ✓ - Forum Hotmail / Outlook.com
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
- Nom de l'adresse - Forum Consommation & Internet
- Je ne reçois plus certaines chaînes tnt - Guide
16 réponses
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 15:29
6 janv. 2022 à 15:29
Bonjour,
Pour commencer ... normal que tu reçoives le message ainsi vu que tu t'es mélangé les pinceaux lors de la concaténation de tes variables avec le "texte" du message...
Il suffit de regarder la couleur dans la variable ( entre le code du début et celui que tu as maintenant) pour se rendre compte d'un souci...
Ensuite ( il me semblait te l'avoir déjà dit...), il est préférable d'utiliser la méthode POST plutôt que le GET surtout lorsqu'on doit transmettre beaucoup de variables et/ou qu'il y a des longs textes dedans...
Je t'invite donc fortement à modifier ton formulaire (dont on ne voit pas le code ici...) en POST au lieu du GET.
puis, bien entendu, à récupérer les variables en $_POST au lieu du $_GET
Si tes soucis persistent ( tu peux remettre la variable $messagez comme avant )... fais nous un var_dump de ta variable $_POST ainsi qu'un var_dump de ta variable $messagez et montre nous ce que ça donne.
Pour commencer ... normal que tu reçoives le message ainsi vu que tu t'es mélangé les pinceaux lors de la concaténation de tes variables avec le "texte" du message...
Il suffit de regarder la couleur dans la variable ( entre le code du début et celui que tu as maintenant) pour se rendre compte d'un souci...
Ensuite ( il me semblait te l'avoir déjà dit...), il est préférable d'utiliser la méthode POST plutôt que le GET surtout lorsqu'on doit transmettre beaucoup de variables et/ou qu'il y a des longs textes dedans...
Je t'invite donc fortement à modifier ton formulaire (dont on ne voit pas le code ici...) en POST au lieu du GET.
puis, bien entendu, à récupérer les variables en $_POST au lieu du $_GET
Si tes soucis persistent ( tu peux remettre la variable $messagez comme avant )... fais nous un var_dump de ta variable $_POST ainsi qu'un var_dump de ta variable $messagez et montre nous ce que ça donne.
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 16:14
6 janv. 2022 à 16:14
Merci jordane pour les corrections
une fois ces dernières mises a jour
le formulaire ne s envois plus ...
j ai donc mis en place les var_dump
dans la boite de dialogue qui annonce que la commande est bien envoyée
je ne sais pas si cela est la meilleur place ?
voici donc le code du formulaire
en plaçant les var_dump dans la boite de dialogue
cela ne retourne rien ...
et celui de l envois
une fois ces dernières mises a jour
le formulaire ne s envois plus ...
j ai donc mis en place les var_dump
dans la boite de dialogue qui annonce que la commande est bien envoyée
je ne sais pas si cela est la meilleur place ?
voici donc le code du formulaire
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Comment créer un panier en JavaScript"> <meta name="author" content="1FORMATIK.com"> <title>Comment créer un panier en JavaScript</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> </head> <body> <div class="container bg-light rounded"> <div class="row"> <div class="col-md-12 mt-3"> <div class="row mt-3"> <div class="col-md-4"> </div> <div class="container"> <div class="row"> <div class="col-sm"> <img src="https://phil.pecheperle.be/image-perles/perle-verre-peche-gardon-2002.JPG" style ="width: 150px; height: 150px;" alt="canard"/> </div> </div> <div class="row"> <div class="col-sm"> <p>Produit 01 (8.00 €)</p> </div> </div> <div class="row"> <div class="col-sm"> <div class="col-md-4 text-end"> <a style="cursor:pointer;" data-nom="Produit 01" data-prix="8.00" data-select="01" data-checkbox="produit_001" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> </div> </div> </div> <div class="row mt-3"> <div class="col-md-4"> <p>Produit 02 (15.00 €)</p> </div> <div class="col-md-2"> <select class="form-control" id="02"> <option value="XS">XS</option> <option value="S">S</option> <option value="M">M</option> <option value="L">L</option> <option value="XL">XL</option> <option value="2XL">2XL</option> <option value="3XL">3XL</option> <option value="4XL">4XL</option> </select> </div> <div class="col-md-6 text-end"> <a style="cursor:pointer;" data-nom="Produit 02" data-prix="15.00" data-select="02" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> <div class="row mt-4"> <div class="col-md-4"> <p>Produit 03 (12.00 €)</p> </div> <div class="col-md-8 text-end"> <a style="cursor:pointer;" data-nom="Produit 03" data-prix="12.00" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <h4>Votre commande</h4> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> Nombre de produit(s) dans le panier : <span class="total-count"></span> <br /><br /> <table width="100%" class="show-panier" id="macommande"></table> <br /> <br /> <p>Select un mode de livraison :</p> <div> <input type="radio" id="mondial_relay_belgique" name="envois" value="2" onclick="afficherpanier()"> <label for="mondial_relay_belgique">Envois par mondial relay belgique 5 euros</label> </div> <div> <input type="radio" id="poste_belgique" name="envois" value="3" onclick="afficherpanier()"> <label for="poste_belgique">envois par poste belgique 4 euros</label> </div> <div> <input type="radio" id="mondial_relay_france" name="envois" value="4" checked="checked" onclick="afficherpanier()"> <label for="mondial_relay_france">Envois par mondial relay france 3 euros</label> </div> <div> <input type="radio" id="poste_france" name="envois" value="5" onclick="afficherpanier()"> <label for="poste_france">envois par poste france 2 euros</label> </div> <div>*Prix total: <b><span class="total-panier" id="prix_total">0.00</span> euros</b></div> <br /> <i id="livraison-detail">*Livraison incluse</i> <div class="text-end"><button class="clear-panier btn btn-danger">Vider le panier</button></div> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <h4>Adresse de livraison</h4> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <input class="form-control" type="text" name="nom" value="" id="nom" placeholder="Nom"> <br> <input class="form-control" type="text" name="prenom" value="" id="prenom" placeholder="Prénom"> <br> <input class="form-control" type="text" name="cp" value="" id="cp" placeholder="Code postal"> <br> <input class="form-control" type="text" name="ville" value="" id="ville" placeholder="Ville"> <br> <input class="form-control" type="text" name="email" value="" id="email" placeholder="e-Mail"> <br> <textarea class="form-control" id="message" placeholder="Message Optionnel"></textarea> <br> <div class="text-end"><button type="button" class="btn btn-success" id="commander">Commander</button></div> <br> <div id="qte_minimum_report"></div> </div> </div> <div class="modal" id="mymodal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Commande confirmée</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div id="commande_report">Merci de votre commande</div> <?php var_dump($_POST); var_dump($messagez); ?> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button> </div> </div> </div> </div> <div class="modal" id="mymodal_erreur" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Erreur de commande</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div id="commande_report">Une erreur est survenue</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button> </div> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="panier.js"></script> <script> function commander(nom,prenom,cp,email,commande,prix_total,message,ville){ $.ajax({ url : 'mail.php', type : 'POST', data : 'nom=' + nom + '&prenom=' + prenom + '&cp=' + cp + '&email=' + email + '&commande=' + commande + '&prix_total=' + prix_total + '&message=' + message + '&ville=' + ville, dataType : 'html', success : function(reponse){ if (reponse == "1"){ MonPanier.clearpanier(); afficherpanier(); document.body.scrollTop = 0; document.documentElement.scrollTop = 0; $('#mymodal').modal('show'); } if (reponse == "0"){$('#mymodal_erreur').modal('show');} } }); } $('#commander').click( function(){ var nom = document.getElementById("nom").value; var prenom = document.getElementById("prenom").value; var cp = document.getElementById("cp").value; var ville = document.getElementById("ville").value; var email = document.getElementById("email").value; var commande = JSON.stringify(panier); var prix_total = document.getElementById("prix_total").innerHTML; var message = encodeURIComponent(document.getElementById("message").value); commander(nom,prenom,cp,email,commande,prix_total,message,ville); }); </script> </body> </html>
en plaçant les var_dump dans la boite de dialogue
cela ne retourne rien ...
et celui de l envois
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; if ( (isset($_POST["nom"]) && ($_POST["nom"] != "")) && (isset($_POST["prenom"]) && ($_POST["prenom"] != "")) && (isset($_POST["cp"]) && ($_POST["cp"] != "")) && (isset($_POST["ville"]) && ($_POST["ville"] != "")) && (isset($_POST["email"]) && ($_POST["email"] != "")) && (isset($_POST["commande"]) && ($_POST["commande"] != "")) ) { $nom = htmlspecialchars($_POST["nom"], ENT_QUOTES); $prenom = htmlspecialchars($_POST["prenom"], ENT_QUOTES); $cp = htmlspecialchars($_POST["cp"], ENT_QUOTES); $ville = htmlspecialchars($_POST["ville"], ENT_QUOTES); $email = htmlspecialchars($_POST["email"], ENT_QUOTES); $message = nl2br(htmlspecialchars($_POST["message"], ENT_QUOTES)); $commande = $_POST["commande"]; $prix_total = htmlspecialchars($_POST["prix_total"], ENT_QUOTES); $sujet = 'Commande reçue'; $messagez = "Nom: ".$nom."<br> Prénom: ".$prenom."<br> Code postal: ".$cp."<br> Ville: ".$ville."<br> Adresse e-Mail: ".$email."<br> Message: ".$message."<br> Liste des produits: <br><br><table>".$commande."</table><br> Prix Total: ".$prix_total.""; $headers = "From: \"Commande\"<".$destinataire.">\n"; $headers .= "Reply-To: ".$destinataire."\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; if(mail($destinataire,$sujet,$messagez,$headers)) { echo "1"; echo $message; } else { echo "0"; } } else echo "0"; ?>
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
Modifié le 6 janv. 2022 à 16:58
Modifié le 6 janv. 2022 à 16:58
j'ai essaye de mettre les var_dump a d autres endroits dans le formulaire mais j obtiens a chaque fois
array(0) { } NULL
lorsque je retire la variable messagez le mail est bien envoyé, par contre si elle est présente aucun mail
j'ai aussi effectué des tests avec la variable messagez vide mais je ne reçois pas de mail non plus
array(0) { } NULL
lorsque je retire la variable messagez le mail est bien envoyé, par contre si elle est présente aucun mail
j'ai aussi effectué des tests avec la variable messagez vide mais je ne reçois pas de mail non plus
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
Modifié le 6 janv. 2022 à 17:19
Modifié le 6 janv. 2022 à 17:19
Parfois j'ai l'impression de radoter....
Enfin bon..
Donc..c'est de l'ajax...
Côté JS :
Côté PHP
Tu noteras que j'ai ajouté un peu d'indentation dans le code... ça le rend quand même vachement plus facile à lire...
J'ai également modifié le code pour utlisé le format JSON ...
Et comme tu fais de l'ajax .. encore une fois .. pense à regarder dans la console js de ton navigateur internet ce qui s'y affiche ( je te recommande d'utiliser FireFox et de bien penser à cocher, si ce n'est pas déjà fait, la case XHR )
Enfin bon..
Donc..c'est de l'ajax...
Côté JS :
function commander(nom,prenom,cp,email,commande,prix_total,message,ville){ let datas = { nom:nom ,prenom:prenom ,cp:cp ,email:email ,commande:commande ,prix_total:prix_total ,message:message ,ville:ville }; $.ajax({ url : 'mail.php', type : 'POST', data : datas, dataType : 'json', success : function(reponse){ console.log('REPONSE AJAX',reponse); // pour voir dans la console JS du navigateur la réponse... if (reponse.status == "1"){ MonPanier.clearpanier(); afficherpanier(); document.body.scrollTop = 0; document.documentElement.scrollTop = 0; $('#mymodal').modal('show'); }else if (reponse.status == "0"){ $('#mymodal_erreur').modal('show'); alert(reponse.error); } },error: function (error){ console.log('Erreur ajax',error); $('#mymodal_erreur').modal('show'); } }); } $('#commander').click( function(){ var nom = document.getElementById("nom").value; var prenom = document.getElementById("prenom").value; var cp = document.getElementById("cp").value; var ville = document.getElementById("ville").value; var email = document.getElementById("email").value; var commande = JSON.stringify(panier); var prix_total = document.getElementById("prix_total").innerHTML; var message = document.getElementById("message").value; commander(nom,prenom,cp,email,commande,prix_total,message,ville); }); </script>
Côté PHP
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName) ? trim($_POST[$varName) : $default; } // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); $commande = !empty($_POST("commande")) ? print_r($_POST,true) : ""; // A mon avis ton souci venait de là.. $prix_total = getPOST("prix_total"); if ( $nom && $prenom && $cp && $ville && $email && $message && $commande && $prix_total ) { $sujet = 'Commande reçue'; $messagez = "Nom: ".htmlspecialchars($nom)."<br> Prénom: ".htmlspecialchars($prenom)."<br> Code postal: ".$cp."<br> Ville: ".htmlspecialchars($ville)."<br> Adresse e-Mail: ".htmlspecialchars($email)."<br> Message: ".htmlspecialchars($message)."<br> Liste des produits: <br><br><table>".$commande."</table><br> Prix Total: ".htmlspecialchars($prix_total).""; $headers = "From: \"Commande\"<".$destinataire.">\n"; $headers .= "Reply-To: ".$destinataire."\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; if(mail($destinataire,$sujet,$messagez,$headers)) { $result['status'] = "1"; $result['message'] = $message; } else { $result['status'] = 0; $result['error'] = "Erreur lors de l'envoi du mail "; } } else { $result['status'] = 0; $result['error'] = "Variables manquantes"; } //juste pour le debug ( à la place des var_dump ) $result['debug'] = ['post'=>$_POST, 'messagez'=>$messagez]; //on retourne le résultat au format JSON echo json_encode($result); ?>
Tu noteras que j'ai ajouté un peu d'indentation dans le code... ça le rend quand même vachement plus facile à lire...
J'ai également modifié le code pour utlisé le format JSON ...
Et comme tu fais de l'ajax .. encore une fois .. pense à regarder dans la console js de ton navigateur internet ce qui s'y affiche ( je te recommande d'utiliser FireFox et de bien penser à cocher, si ce n'est pas déjà fait, la case XHR )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 17:58
6 janv. 2022 à 17:58
bonsoir jordane
un immense merci pour toute cette correction
Mais comme tu le sais c'est un code que j'ai trouvé et dont je m' en suis inspiré et comme il correspondait a ce que je cherchais et qu en plus il me semblait logique
quoi qu il en soit j'ai modifié suivant tes instructions encore merci
je me demande comment tu arrives a coder de cette manière c est incroyable
ce qui donne a présent comme fichier complet j'en ai 3
le html
ensuite le panier en java
et pour finir le mail
je viens de regarder mais malheureusement il y a des erreurs dans la console
un immense merci pour toute cette correction
Mais comme tu le sais c'est un code que j'ai trouvé et dont je m' en suis inspiré et comme il correspondait a ce que je cherchais et qu en plus il me semblait logique
quoi qu il en soit j'ai modifié suivant tes instructions encore merci
je me demande comment tu arrives a coder de cette manière c est incroyable
ce qui donne a présent comme fichier complet j'en ai 3
le html
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Comment créer un panier en JavaScript"> <meta name="author" content="1FORMATIK.com"> <title>Comment créer un panier en JavaScript</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> </head> <body> <div class="container bg-light rounded"> <div class="row"> <div class="col-md-12 mt-3"> <div class="row mt-3"> <div class="col-md-4"> </div> <div class="container"> <div class="row"> <div class="col-sm"> <img src="https://phil.pecheperle.be/image-perles/perle-verre-peche-gardon-2002.JPG" style ="width: 150px; height: 150px;" alt="canard"/> </div> </div> <div class="row"> <div class="col-sm"> <p>Produit 01 (8.00 €)</p> </div> </div> <div class="row"> <div class="col-sm"> <div class="col-md-4 text-end"> <a style="cursor:pointer;" data-nom="Produit 01" data-prix="8.00" data-select="01" data-checkbox="produit_001" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> </div> </div> </div> <div class="row mt-3"> <div class="col-md-4"> <p>Produit 02 (15.00 €)</p> </div> <div class="col-md-2"> <select class="form-control" id="02"> <option value="XS">XS</option> <option value="S">S</option> <option value="M">M</option> <option value="L">L</option> <option value="XL">XL</option> <option value="2XL">2XL</option> <option value="3XL">3XL</option> <option value="4XL">4XL</option> </select> </div> <div class="col-md-6 text-end"> <a style="cursor:pointer;" data-nom="Produit 02" data-prix="15.00" data-select="02" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> <div class="row mt-4"> <div class="col-md-4"> <p>Produit 03 (12.00 €)</p> </div> <div class="col-md-8 text-end"> <a style="cursor:pointer;" data-nom="Produit 03" data-prix="12.00" class="btn btn-primary ajouter-panier">ajouter au panier</a> </div> </div> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <h4>Votre commande</h4> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> Nombre de produit(s) dans le panier : <span class="total-count"></span> <br /><br /> <table width="100%" class="show-panier" id="macommande"></table> <br /> <br /> <p>Select un mode de livraison :</p> <div> <input type="radio" id="mondial_relay_belgique" name="envois" value="2" onclick="afficherpanier()"> <label for="mondial_relay_belgique">Envois par mondial relay belgique 5 euros</label> </div> <div> <input type="radio" id="poste_belgique" name="envois" value="3" onclick="afficherpanier()"> <label for="poste_belgique">envois par poste belgique 4 euros</label> </div> <div> <input type="radio" id="mondial_relay_france" name="envois" value="4" checked="checked" onclick="afficherpanier()"> <label for="mondial_relay_france">Envois par mondial relay france 3 euros</label> </div> <div> <input type="radio" id="poste_france" name="envois" value="5" onclick="afficherpanier()"> <label for="poste_france">envois par poste france 2 euros</label> </div> <div>*Prix total: <b><span class="total-panier" id="prix_total">0.00</span> euros</b></div> <br /> <i id="livraison-detail">*Livraison incluse</i> <div class="text-end"><button class="clear-panier btn btn-danger">Vider le panier</button></div> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <h4>Adresse de livraison</h4> </div> </div> <div class="row"> <div class="col-md-12 mt-3"> <input class="form-control" type="text" name="nom" value="" id="nom" placeholder="Nom"> <br> <input class="form-control" type="text" name="prenom" value="" id="prenom" placeholder="Prénom"> <br> <input class="form-control" type="text" name="cp" value="" id="cp" placeholder="Code postal"> <br> <input class="form-control" type="text" name="ville" value="" id="ville" placeholder="Ville"> <br> <input class="form-control" type="text" name="email" value="" id="email" placeholder="e-Mail"> <br> <textarea class="form-control" id="message" placeholder="Message Optionnel"></textarea> <br> <?php var_dump($_POST); var_dump($messagez); ?> <div class="text-end"><button type="button" class="btn btn-success" id="commander">Commander</button></div> <?php var_dump($_POST); var_dump($messagez); ?> <br> <div id="qte_minimum_report"></div> </div> </div> <div class="modal" id="mymodal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Commande confirmée</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div id="commande_report">Merci de votre commande</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button> </div> </div> </div> </div> <div class="modal" id="mymodal_erreur" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Erreur de commande</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div id="commande_report">Une erreur est survenue</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button> </div> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="panier.js"></script> <script> function commander(nom,prenom,cp,email,commande,prix_total,message,ville){ let datas = { nom:nom ,prenom:prenom ,cp:cp ,email:email ,commande:commande ,prix_total:prix_total ,message:message ,ville:ville }; $.ajax({ url : 'mail.php', type : 'POST', data : datas, dataType : 'json', success : function(reponse){ console.log('REPONSE AJAX',reponse); // pour voir dans la console JS du navigateur la réponse... if (reponse.status == "1"){ MonPanier.clearpanier(); afficherpanier(); document.body.scrollTop = 0; document.documentElement.scrollTop = 0; $('#mymodal').modal('show'); }else if (reponse.status == "0"){ $('#mymodal_erreur').modal('show'); } },error: function (error){ console.log('Erreur ajax',error); $('#mymodal_erreur').modal('show'); } }); } $('#commander').click( function(){ var nom = document.getElementById("nom").value; var prenom = document.getElementById("prenom").value; var cp = document.getElementById("cp").value; var ville = document.getElementById("ville").value; var email = document.getElementById("email").value; var commande = JSON.stringify(panier); var prix_total = document.getElementById("prix_total").innerHTML; var message = document.getElementById("message").value; commander(nom,prenom,cp,email,commande,prix_total,message,ville); }); </script> </body> </html>
ensuite le panier en java
// Mon petit panier JS // https://www.1formatik.com // 0 pour désactiver les commandes par lot // 1 pour activer la fonctionnalité de commande par lot var Qte_Minimum = 0; // Nombre de produits minimum par lot var Qte_Minimum_Valeur = 6; // 0 pour désactiver l'ajout du prix de la livraison // 1 pour activer la fonctionnalité de modification du prix total pour inclure le prix de la livraison selon un pourcentage du prix total // 2/3/4/5 pour activer la fonctionnalité de modification du prix total pour inclure le prix de la livraison selon un forfait fixe //var Livraison = document.getElementById("poste_france").value; //if (document.getElementById('r1').checked) { //rate_value = document.getElementById('r1').value; //if(document.getElementById("mondial_relay_belgique").checked) { //var Livraison = document.getElementById("mondial_relay_belgique").value; //} //else if(document.getElementById('poste_belgique').checked) { // var Livraison = document.getElementById("poste_belgique").value; //} //else if(document.getElementById('mondial_relay_france').checked) { // var Livraison = document.getElementById("mondial_relay_france").value; //} //else if(document.getElementById('poste_france').checked) { // var Livraison = document.getElementById("poste_france").value; //} var Livraison= document.querySelector('input[name="envois"]:checked').value; console.log(Livraison); //var Livraison = document.querySelector('input[name="envois"]:checked').value; // % du prix total total correspondant au prix de la livraison var Poucentage_Livraison = 25; // Forfait de la livraison en euro var Forfait_Livraison_mondial_relay_belgique = 5; // Forfait de la livraison en euro var Forfait_Livraison_poste_belgique = 4; // Forfait de la livraison en euro var Forfait_Livraison_mondial_relay_france= 3; // Forfait de la livraison en euro var Forfait_Livraison_poste_france= 2; // les messages concernant la fonctionnalité de commande par lot var txt_qte_minimum_bad = "<font color='red'>Attention les quantités ne sont pas correctes, les commandes se font par lot de " + Qte_Minimum_Valeur + " produits</font>"; var txt_qte_minimum_ok = "<font color='green'>Le nombre de produits est correcte</font>"; var txt_qte_minimum_defaut = "Les commandes se font par lot de " + Qte_Minimum_Valeur + " produits"; // ne pas modifier la suite sauf si vous désirez modifier le code var MonPanier = (function(){ panier = []; function Item(nom, prix, quantite) { this.nom = nom; this.prix = prix; this.quantite = quantite; } function savepanier(){ sessionStorage.setItem('MonPanier', JSON.stringify(panier)); } function loadpanier(){ panier = JSON.parse(sessionStorage.getItem('MonPanier')); } if (sessionStorage.getItem("MonPanier") != null) { loadpanier(); } var obj = {}; obj.ajouter_produit_dans_panier = function(nom, prix, quantite) { for(var item in panier) { if(panier[item].nom === nom) { panier[item].quantite ++; savepanier(); return; } } var item = new Item(nom, prix, quantite); panier.push(item); savepanier(); } obj.setquantiteForItem = function(nom, quantite) { for(var i in panier) { if (panier[i].nom === nom) { panier[i].quantite = quantite; break; } } }; obj.enlever_produit_de_panier = function(nom) { for(var item in panier) { if(panier[item].nom === nom) { panier[item].quantite --; if(panier[item].quantite === 0) { panier.splice(item, 1); } break; } } savepanier(); } obj.enlever_produit_de_panier_tous = function(nom) { for(var item in panier) { if(panier[item].nom === nom) { panier.splice(item, 1); break; } } savepanier(); } obj.clearpanier = function(){ panier = []; savepanier(); } obj.totalquantite = function(){ var totalquantite = 0; for(var item in panier) { totalquantite += panier[item].quantite; } return totalquantite; } obj.totalpanier = function(){ var totalpanier = 0; for(var item in panier) { totalpanier += panier[item].prix * panier[item].quantite; } return Number(totalpanier.toFixed(2)); } obj.listpanier = function(){ var panierCopy = []; for(i in panier) { item = panier[i]; itemCopy = {}; for(p in item) { itemCopy[p] = item[p]; } itemCopy.total = Number(item.prix * item.quantite).toFixed(2); panierCopy.push(itemCopy) } return panierCopy; } return obj; })(); $('.ajouter-panier').click(function(event) { event.preventDefault(); var nom_option = ""; var prix_option = 0; var option_checkbox = $(this).data('checkbox'); if (option_checkbox != "") { var checkboxes = document.getElementsByClassName(option_checkbox); for(var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked == true) { var nom_option = nom_option + " (" + $(checkboxes[i]).data('nom') +")"; var prix_option = prix_option + Number($(checkboxes[i]).data('prix')); } } } if ($(this).data('select')) { var nom = $(this).data('nom') + " (" + document.getElementById(""+$(this).data('select')+"").value + ")" + nom_option; } else var nom = $(this).data('nom'); var prix = Number($(this).data('prix')) + prix_option; MonPanier.ajouter_produit_dans_panier(nom, prix, 1); afficherpanier(); }); $('.clear-panier').click(function(){ MonPanier.clearpanier(); afficherpanier(); }); function afficherpanier(){ var panierArray = MonPanier.listpanier(); var output = ""; for(var i in panierArray) { output += "<tr>" + "<td>" + panierArray[i].nom + "</td>" + "<td>(" + panierArray[i].prix.toFixed(2) + ")</td>" + "<td class='form-inline'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>" + "<input type='number' min='1' class='form-control item-quantite' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>" + "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></td>" + "<td><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></td>" + " = " + "<td>" + panierArray[i].total + "</td>" + "</tr>"; } $('.show-panier').html(output); Livraison= document.querySelector('input[name="envois"]:checked').value; console.log("Livraison: " + Livraison); if (Livraison == 1) { $('.total-panier').html(((MonPanier.totalpanier()) + (MonPanier.totalpanier()/(100/Poucentage_Livraison))).toFixed(2)); document.getElementById('livraison-detail').innerHTML = "Livraison incluse: " + Poucentage_Livraison +"% du prix total."; } if (Livraison == 2) { $('.total-panier').html((MonPanier.totalpanier() + Forfait_Livraison_mondial_relay_belgique ).toFixed(2)); document.getElementById('livraison-detail').innerHTML = "Livraison incluse avec mondial relay belgique: " + Forfait_Livraison_mondial_relay_belgique +" euros."; } if (Livraison == 3) { $('.total-panier').html((MonPanier.totalpanier() + Forfait_Livraison_poste_belgique).toFixed(3)); document.getElementById('livraison-detail').innerHTML = "Livraison incluse avec la poste de belgique: " + Forfait_Livraison_poste_belgique +" euros."; } if (Livraison == 4) { $('.total-panier').html((MonPanier.totalpanier() + Forfait_Livraison_mondial_relay_france).toFixed(4)); document.getElementById('livraison-detail').innerHTML = "Livraison incluse avec mondial relay france: " + Forfait_Livraison_mondial_relay_france +" euros."; } if (Livraison == 5) { $('.total-panier').html((MonPanier.totalpanier() + Forfait_Livraison_poste_france).toFixed(5)); document.getElementById('livraison-detail').innerHTML = "Livraison incluse avec la poste francaise: " + Forfait_Livraison_poste_france +" euros."; } if (Livraison == 0) { $('.total-panier').html(((MonPanier.totalpanier())).toFixed(2)); } $('.total-panier-modal').html(MonPanier.totalpanier()); $('.total-quantite').html(MonPanier.totalquantite()); if ((Qte_Minimum == 1) && (Number.isInteger(MonPanier.totalquantite() / Qte_Minimum_Valeur) == false) && (MonPanier.totalquantite() != 0)) { document.getElementById('qte_minimum_report').innerHTML = txt_qte_minimum_bad; } else if ((Qte_Minimum == 1) && (Number.isInteger(MonPanier.totalquantite() / Qte_Minimum_Valeur) == true) && (MonPanier.totalquantite() != 0)) { document.getElementById('qte_minimum_report').innerHTML = txt_qte_minimum_ok; } else if (Qte_Minimum == 1) { document.getElementById('qte_minimum_report').innerHTML = txt_qte_minimum_defaut; } else if (Qte_Minimum == 0) { document.getElementById('qte_minimum_report').innerHTML = ""; } } $('.show-panier').on("click", ".effacer-item", function(event) { var nom = $(this).data('nom') MonPanier.enlever_produit_de_panier_tous(nom); afficherpanier(); }) $('.show-panier').on("click", ".moins-item", function(event) { var nom = $(this).data('nom') MonPanier.enlever_produit_de_panier(nom); afficherpanier(); }) $('.show-panier').on("click", ".plus-item", function(event) { var nom = $(this).data('nom') MonPanier.ajouter_produit_dans_panier(nom); afficherpanier(); }) $('.show-panier').on("change", ".item-quantite", function(event) { var nom = $(this).data('nom'); var quantite = Number($(this).val()); MonPanier.setquantiteForItem(nom, quantite); afficherpanier(); }); afficherpanier();
et pour finir le mail
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default; } // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); $commande = !empty($_POST("commande")) ? print_r($_POST,true) : ""; // A mon avis ton souci venait de là.. $prix_total = getPOST("prix_total"); if ( $nom && $prenom && $cp && $ville && $email && $message && $commande && $prix_total ) { $sujet = 'Commande reçue'; $messagez = "Nom: ".htmlspecialchars($nom)."<br> Prénom: ".htmlspecialchars($prenom)."<br> Code postal: ".$cp."<br> Ville: ".htmlspecialchars($ville)."<br> Adresse e-Mail: ".htmlspecialchars($email)."<br> Message: ".htmlspecialchars($message)."<br> Liste des produits: <br><br><table>".$commande."</table><br> Prix Total: ".htmlspecialchars($prix_total).""; $headers = "From: \"Commande\"<".$destinataire.">\n"; $headers .= "Reply-To: ".$destinataire."\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; if(mail($destinataire,$sujet,$messagez,$headers)) { $result['status'] = "1"; $result['message'] = $message; } else { $result['status'] = 0; $result['error'] = "Erreur lors de l'envoi du mail "; } } else { $result['status'] = 0; $result['error'] = "Variables manquantes"; } //juste pour le debug ( à la place des var_dump ) $result['debug'] = ['post'=>$_POST, 'messagez'=>$messagez]; //on retourne le résultat au format JSON echo json_encode($result); ?>
je viens de regarder mais malheureusement il y a des erreurs dans la console
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 18:18
6 janv. 2022 à 18:18
Il semble donc qu'il y ait une erreur dans le script PHP.
Remplace le contenu de ton code PHP par le code suivant afin de voir si ça fonctionne
Une fois modifié teste un nouveau et dis-nous ce qui s'affiche dans la console
Remplace le contenu de ton code PHP par le code suivant afin de voir si ça fonctionne
<?php
error_reporting(E_ALL);
// Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs
ini_set("display_errors", 0);
$result = []; //variable utilisée pour le retour ajax au format json
function getPOST($varName, $default=""){
return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default;
}
echo json_encode($_POST);
Une fois modifié teste un nouveau et dis-nous ce qui s'affiche dans la console
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 18:50
6 janv. 2022 à 18:50
Jordane Merci pour cette correction
c'est super sympa
voici donc le nouveau code
mais de nouveau une erreur
c'est super sympa
voici donc le nouveau code
mais de nouveau une erreur
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default; } echo json_encode($_POST); // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); $commande = !empty($_POST("commande")) ? print_r($_POST,true) : ""; // A mon avis ton souci venait de là.. $prix_total = getPOST("prix_total"); if ( $nom && $prenom && $cp && $ville && $email && $message && $commande && $prix_total ) { $sujet = 'Commande reçue'; $messagez = "Nom: ".htmlspecialchars($nom)."<br> Prénom: ".htmlspecialchars($prenom)."<br> Code postal: ".$cp."<br> Ville: ".htmlspecialchars($ville)."<br> Adresse e-Mail: ".htmlspecialchars($email)."<br> Message: ".htmlspecialchars($message)."<br> Liste des produits: <br><br><table>".$commande."</table><br> Prix Total: ".htmlspecialchars($prix_total).""; $headers = "From: \"Commande\"<".$destinataire.">\n"; $headers .= "Reply-To: ".$destinataire."\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; if(mail($destinataire,$sujet,$messagez,$headers)) { $result['status'] = "1"; $result['message'] = $message; } else { $result['status'] = 0; $result['error'] = "Erreur lors de l'envoi du mail "; } } else { $result['status'] = 0; $result['error'] = "Variables manquantes"; } //juste pour le debug ( à la place des var_dump ) $result['debug'] = ['post'=>$_POST, 'messagez'=>$messagez]; //on retourne le résultat au format JSON echo json_encode($result); ?>
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 18:54
6 janv. 2022 à 18:54
Je t'ai dit de remplacer le code par celui que je viens de te donner je ne t'ai pas demandé de l'ajouter...
C'est juste pour voir si le début du script PHP fonctionne...
En fonction de ce que ça va te retourner on ajoutera quelques lignes supplémentaires
C'est juste pour voir si le début du script PHP fonctionne...
En fonction de ce que ça va te retourner on ajoutera quelques lignes supplémentaires
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 19:03
6 janv. 2022 à 19:03
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 19:24
6 janv. 2022 à 19:24
Ajoute les lignes de code
Avant le echo
Puis teste
// Saisissez ici l'adresse mail du destinataire
$destinataire = "perroquet666@hotmail.com";
// Récupération des variables AVANT de les utiliser
$nom = getPOST("nom");
$prenom = getPOST("prenom");
$cp = getPOST("cp");
$ville = getPOST("ville");
$email = getPOST("email");
$message = nl2br(getPOST("message"));
$commande = !empty($_POST("commande")) ? print_r($_POST,true) : ""; // A mon avis ton souci venait de là..
$prix_total = getPOST("prix_total");
Avant le echo
Puis teste
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 19:34
6 janv. 2022 à 19:34
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
Modifié le 6 janv. 2022 à 20:06
Modifié le 6 janv. 2022 à 20:06
Essaye de ne mettre que les premières
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default; } // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); $commande = !empty($_POST["commande"]) ? print_r($_POST["commande"] ,true) : ""; //L'erreur venait de là.. $prix_total = getPOST("prix_total"); echo json_encode($_POST);
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
>
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
6 janv. 2022 à 19:56
6 janv. 2022 à 19:56
Si ça ça marche .. tu pourras remettre le if/else ( avant le echo toujours..)
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 19:58
6 janv. 2022 à 19:58
dans le même temps jordane j'ai effectue un essai en mettant commande en commentaire et je n'ai plus d erreur
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default; } // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); //$commande = !empty($_POST("commande")) ? print_r($_POST,true) : ""; // A mon avis ton souci venait de là.. $prix_total = getPOST("prix_total"); echo json_encode($_POST);
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 19:59
6 janv. 2022 à 19:59
oui, si tu regardes le code que je viens de te donner .. j'ai en effet corrigé cette ligne...
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 20:00
6 janv. 2022 à 20:00
merci jordane plus aucune erreur
je continue avec le if et le else
je continue avec le if et le else
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 20:07
6 janv. 2022 à 20:07
voila jordane
je reviens vers toi avec donc ce nouveau code
plus aucune erreur
après avoir passé la commande je n'ai pas reçu de message de message comme je recevais tantôt me signalant que la commande était transmisse
et je n'ai rien reçu dans ma boite mail
je reviens vers toi avec donc ce nouveau code
plus aucune erreur
après avoir passé la commande je n'ai pas reçu de message de message comme je recevais tantôt me signalant que la commande était transmisse
et je n'ai rien reçu dans ma boite mail
<?php error_reporting(E_ALL); // Passez la valeur ci-dessous de 0 à 1 pour afficher les erreurs ini_set("display_errors", 0); $result = []; //variable utilisée pour le retour ajax au format json function getPOST($varName, $default=""){ return !empty($_POST[$varName]) ? trim($_POST[$varName]) : $default; } // Saisissez ici l'adresse mail du destinataire $destinataire = "perroquet666@hotmail.com"; // Récupération des variables AVANT de les utiliser // Récupération des variables AVANT de les utiliser $nom = getPOST("nom"); $prenom = getPOST("prenom"); $cp = getPOST("cp"); $ville = getPOST("ville"); $email = getPOST("email"); $message = nl2br(getPOST("message")); $commande = !empty($_POST["commande"]) ? print_r($_POST["commande"] ,true) : ""; //L'erreur venait de là.. $prix_total = getPOST("prix_total"); if ( $nom && $prenom && $cp && $ville && $email && $message && $commande && $prix_total ) { $sujet = 'Commande reçue'; $messagez = "Nom: ".htmlspecialchars($nom)."<br> Prénom: ".htmlspecialchars($prenom)."<br> Code postal: ".$cp."<br> Ville: ".htmlspecialchars($ville)."<br> Adresse e-Mail: ".htmlspecialchars($email)."<br> Message: ".htmlspecialchars($message)."<br> Liste des produits: <br><br><table>".$commande."</table><br> Prix Total: ".htmlspecialchars($prix_total).""; $headers = "From: \"Commande\"<".$destinataire.">\n"; $headers .= "Reply-To: ".$destinataire."\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; if(mail($destinataire,$sujet,$messagez,$headers)) { $result['status'] = "1"; $result['message'] = $message; } else { $result['status'] = 0; $result['error'] = "Erreur lors de l'envoi du mail "; } } else { $result['status'] = 0; $result['error'] = "Variables manquantes"; } echo json_encode($_POST);
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 20:15
6 janv. 2022 à 20:15
Faut me montrer le résultat dans la console ...
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 20:10
6 janv. 2022 à 20:10
par contre si je supprime
je reçois bien le mail
$messagezdu mail
je reçois bien le mail
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
Modifié le 6 janv. 2022 à 20:17
Modifié le 6 janv. 2022 à 20:17
donc c est bien cette variable qui mets le bazar
car je confirme que cela fonctionne sans elle
car je confirme que cela fonctionne sans elle
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
6 janv. 2022 à 20:31
6 janv. 2022 à 20:31
a titre informatif je ne recois plus le message "Merci de votre commande" lorsque je clic sur la commande
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
6 janv. 2022 à 20:35
6 janv. 2022 à 20:35
pour la seconde fois......Faut me montrer le résultat dans la console .
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
7 janv. 2022 à 00:21
7 janv. 2022 à 00:21
enfin enfin cela fonctionne
en fait avec l adresse hotmail cela ne fonctionne pas
j'ai du mettre une adresse gmail
par contre je ne reçois toujours pas le message "merci pour votre commande"
en fait avec l adresse hotmail cela ne fonctionne pas
j'ai du mettre une adresse gmail
par contre je ne reçois toujours pas le message "merci pour votre commande"
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
7 janv. 2022 à 00:28
7 janv. 2022 à 00:28
pour la troisième fois......Faut me montrer le résultat dans la console .....
On va compter jusqu'à combien avant que tu te décides à me montrer le contenu de la console lorsque tu envoies un mail ???
Sans cette information je ne peux pas t'aider...
On va compter jusqu'à combien avant que tu te décides à me montrer le contenu de la console lorsque tu envoies un mail ???
Sans cette information je ne peux pas t'aider...
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
7 janv. 2022 à 00:33
7 janv. 2022 à 00:33
jordane45
Messages postés
38273
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 novembre 2024
4 696
7 janv. 2022 à 00:50
7 janv. 2022 à 00:50
ligne 55 du script php .. il faut remplacer $_POST par $_RESULT
if(mail($destinataire,$sujet,$messagez,$headers)) { $result['status'] = "1"; $result['message'] = $message; } else { $result['status'] = 0; $result['error'] = "Erreur lors de l'envoi du mail "; } } else { $result['status'] = 0; $result['error'] = "Variables manquantes"; } echo json_encode($result);
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
7 janv. 2022 à 00:57
7 janv. 2022 à 00:57
super nickel jordane tout cela fonctionne a merveille
un immense merci pour ta patience , ta générosité
passe une bonne nuit
un immense merci pour ta patience , ta générosité
passe une bonne nuit