*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Mai 2012 à 04:55:17

Connexion avec identifiant, mot de passe et durée de la session



 

Formulaire HTML, validation PHP et envoi par mail


« sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Fil de discussion: Formulaire HTML, validation PHP et envoi par mail  (Lu 1593 fois)
Nyco
Nouveau membre
*

Points gagnés: 0
Messages: 2


Voir le profil
Formulaire HTML, validation PHP et envoi par mail
« le: 26 Septembre 2010 à 16:51:13 »

Bonjour,

Voilà plusieurs longues minutes que je m'arrache les cheveux sur l'envoi par mail des données d'un formulaire. J'ai utilisé le tuto (très très bien fait merci) sur l'envoi des données via formulaire mais j'ai quelques soucis.

En gros, la vérification marche à merveille (sauf pour les listes déroulantes qu'il considère toujours OK puisqu'il y a toujours une valeur par défaut mais ça c'est rien), je reçois le mail mais il est quasiment vide ... Je n'ai qu'un label ("Mode de Paiement :") avec rien derrière ou à la rigueur la première lettre du label de la première case à cocher.

Tout le reste, listes, champs texte, rien n'apparaît. J'ai dû faire une erreur mais je ne sais pas du tout où ... J'ai identifié la ligne du tuto faisant mention de $index et $valeur parce que je ne sais pas réellement à quoi elles font référence ...

Mon code :

Code:
<?php

//Définition variables
$msg_erreur "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok "Votre demande a bien été prise en compte.";
$message $msg_erreur;

//Destinataire
define('MAIL_DESTINATAIRE','xxx@xxx.xx');
define('MAIL_SUJET','Demande de publication Petites Annonces CE SISTM');


//Vérification champs
if (empty($_POST['Nom']))
$message .= "Nom<br/>";
if (empty(
$_POST['Prenom']))
$message .= "Prénom<br/>";
if (empty(
$_POST['Secteur']))
$message .= "Secteur<br/>";
if (empty(
$_POST['Centre']))
$message .= "Centre<br/>";
if (empty(
$_POST['Rubrique']))
$message .= "Rubrique<br/>";
if (empty(
$_POST['Intitule']))
$message .= "Intitulé de l'objet<br/>";
if (empty(
$_POST['Description']))
$message .= "Description de l'objet<br/>";
if (empty(
$_POST['Etat']))
$message .= "Etat de l'objet<br/>";
if (empty(
$_POST['Prix']))
$message .= "Prix<br/>";


//Message d'Erreur si un champ est vide
if (strlen($message) > strlen($msg_erreur)) {

  echo 
$message;

}

//Sinon poursuite du code
else {

foreach(
$_POST as $index => $valeur) {
$
$index stripslashes(trim($valeur));
}

//Concaténation champ Paiement
$Paiement $_POST['Paiement'];
$sqlPaiement '';
for (
$i=0$i<count($Paiement); $i++)
{
$sqlPaiement .= $Paiement[$i];
$sqlPaiement .= ', ';
}

//Concaténation champ Livraison
$Livraison $_POST['Livraison'];
$sqlLivraison '';
for (
$i=0$i<count($Livraison); $i++)
{
$sqlLivraison .= $Livraison[$i];
$sqlLivraison .= ', ';
}


//Préparation de l'entête du mail
$mail_entete "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['Nom']} ";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' phpversion()."\r\n";


//Préparation du corps du mail
$mail_corps "Nom : $Nom\n";
$mail_corps "Prénom : $Prenom\n";
$mail_corps "Secteur-Centre : $Secteur$Centre\n";
$mail_corps "Rubrique : $Rubrique\n";
$mail_corps "Intitulé de l'objet : $Intitule\n";
$mail_corps "Description : $Description\n";
$mail_corps "Etat : $Etat\n";
$mail_corps "Prix : $Prix\n";
$mail_corps "Moyen de Paiement : $sqlPaiement\n\n\n";
$mail_corps "Mode de Livraison : $sqlLivraison\n\n\n";


// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

  
//Le mail est bien expédié
  
echo $msg_ok;
} else {

  
//Le mail n'a pas été expédié
  
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}

?>

Merci pour votre aide Smile
Journalisée
Nyco
Nouveau membre
*

Points gagnés: 0
Messages: 2


Voir le profil
Re : Formulaire HTML, validation PHP et envoi par mail
« Répondre #1 le: 26 Septembre 2010 à 17:36:12 »

Bon bah j'ai trouvé comme un grand Wink

Il manquait des "." avant le "=" des "$mail_corps" et j'avais une erreur dans la partie HTML où j'avais mis des ">" au lieu des "/>" en balise de fin d'input.

En tout cas maintenant ça fonctionne Smile
Journalisée
Pages: [1] Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  

Powered by SMF 1.1.12 | SMF © 2006, Simple Machines LLC

Page générée en 0.146 secondes avec 18 requêtes.