Formulaire non envoyer pour un mail

Résolu/Fermé
delafu - Modifié le 7 sept. 2020 à 21:11
delafu Messages postés 2 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 10 septembre 2020 - 10 sept. 2020 à 21:55
Bonjour,

quelqu'un peut m'aider à trouver l'erreur dans ce code s'il vous plaît, je n'arrive pas à chaque fois il me renvoie le dernier else ...


ici mon code php ---->
<?php

$method = strtoupper($_SERVER['REQUEST_METHOD']);
if('POST' != $method) {
 exit('Invalid request');
}


$address = "***@***";
$email_subject = "Nouvelle Commande";


if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");

$companyname = (isset($_POST['companyname']) ? strip_tags($_POST['companyname']) : '');
$civilite = (isset($_POST['civilite']) ? strip_tags($_POST['civilite']) : '');
$name = (isset($_POST['name']) ? strip_tags($_POST['name']) : '');
$lastname = (isset($_POST['lastname']) ? strip_tags($_POST['lastname']) : '');
$email = (isset($_POST['email']) ? strip_tags($_POST['email']) : '');
$phone = (isset($_POST['phone']) ? strip_tags($_POST['phone']) : '');
$departement = (isset($_POST['departement']) ? strip_tags($_POST['departement']) : '');
$produit = (isset($_POST['produit']) ? strip_tags($_POST['produit']) : '');
$quantite = (isset($_POST['quantite']) ? strip_tags($_POST['quantite']) : '');
$couleur = (isset($_POST['couleur']) ? strip_tags($_POST['couleur']) : '');
$date = (isset($_POST['date']) ? strip_tags($_POST['date']) : '');
$time = (isset($_POST['time']) ? strip_tags($_POST['time']) : '');
$message = (isset($_POST['message']) ? strip_tags($_POST['message']) : '');

if(empty($civilite)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas indiqué votre civilité</p></div>';
 exit();
}
if(empty($name)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis.</p></div>';
 exit();
}
if(empty($lastname)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis.</p></div>';
 exit();
}
if(empty($email)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis.</p></div>';
 exit();
}
if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Email invalide. Vérifiez!</p></div>';
 exit();
}
if($phone=="" || !preg_match("/^\d{8}$/",$phone)) {
      echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Le numéro de téléphone est requis, doit être local et composé des huit (8) chiffres uniquement.</p></div>';
  exit();
}
if(empty($departement)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas choisi le département auquel adresser votre demande.</p></div>';
 exit();
}

if(empty($produit)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas indiqué le nom de votre produit.</p></div>';
 exit();
}
if(empty($quantite)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas indiqué la quantité pour votre produit.</p></div>';
 exit();
}
if(empty($date)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas indiqué la date de récupération de votre produit.</p></div>';
 exit();
}
if(empty($time)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis. Vous navez pas indiqué une heure de récupération de votre produit.</p></div>';
 exit();
}
if(empty($message)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Champs requis.</p></div>';
 exit();
}
if(get_magic_quotes_gpc()) {
 $message = stripslashes($message);
}


if(empty($g_response)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Confirmez que vous êtes humains en passant le captcha.</p></div>';
 exit();
}
if(!validateRecaptcha(GR_SECRET, $g_response, GR_URL)){
 echo '<div class="alert alert-warning error"><p><strong>Attention!</strong> Le captcha est incorrect.</p></div>';
 exit();
}




$e_body = "Cher administrateur du département $departement , $civilite $name $lastname a placé UNE NOUVELLE COMMANDE, les informations relatives sont les suivantes" . PHP_EOL . PHP_EOL;
$e_content = "$civilite $lastname souhaite acheter $quantite $produit de couleur $couleur, $civilite $lastname a associée cette note à sa commande \"$message\", $civilite $lastname souhaite passer récupérer son produit le $date à $time" . PHP_EOL . PHP_EOL;
$e_reply = "Vous pouvez contacter $civilite $name via email : $email ou par téléphone : $phone";

$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );

$headers = "From: $name $lastname $address" . PHP_EOL;
$headers .= "NOUVELLE COMMANDE $email_subject" . PHP_EOL;
$headers .= "Pour le département : $departement" . PHP_EOL;
$headers .= "Placée par -$companyname- $civilite $name $lastname : $email" . PHP_EOL;
$headers .= "Appelez $civilite $name $lastname : $phone" . PHP_EOL;


if(mail($address, $email_subject, $msg, $headers)) {

 
 echo '<div class="alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><p>Merci <strong>'.$civilite.' '.$name.'</strong>, votre commande a été reçue avec succès. Soyez sûr(e) que nous vous contacterons dans les plus brefs delais pour le suivi nécessaire.</p></div>';

} 
else {
 
 echo '<div class="alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><div class="alert alert-danger"><strong>ERREUR!</strong> La commande a malheureusement échoué. Réessayez!</div>';
}




Edit : ajout des balises de code

.
Configuration: Windows / Firefox 80.0
A voir également:

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 7 sept. 2020 à 21:13
Bonjour

Où as-tu mis ton code travailles-tu sur un serveur ou en local sur ton ordinateur ?
Si en local, quel logiciel utilises-tu ? (Wamp ? Xampp ? Laragon ? ... )

Si en local, as-tu configuré le smtp ?

Si sur un serveur, quel hébergeur as-tu utilisé ?


0
delafu Messages postés 2 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 10 septembre 2020
10 sept. 2020 à 03:49
Bonjour Jordane,
Merci de me répondre, j'utilise IONOS comme hebergeur.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 10 sept. 2020 à 08:39
Dans ta variable headers, le from n'est pas valide...

EDIT : En fait... c'est toute ta varialbe $headers qui est fausse........

Explications et exemples disponibles ici :
https://a-pellegrini.developpez.com/tutoriels/php/mail/
0
delafu Messages postés 2 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 10 septembre 2020
10 sept. 2020 à 21:55
Merci beaucoup Jordane,

mon problème est résolut, votre lien ( https://a-pellegrini.developpez.com/tutoriels/php/mail/ ) a été parfait pour moi; et vous aviez raison concernant ma varialbe $headers .

vraiment merci encore...
0