Formulaire chez Online

Signaler
Messages postés
24
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
13 novembre 2009
-
Messages postés
24
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
13 novembre 2009
-
Bonjour. J'aimerais créer un formulaire pour un site hébergé chez Online. Voici l'exemple que donne Online :
Fichier où se trouve le formulaire :
<html><form action="form2mail.php" method="post">
Entrez votre adresse mail:

Message:
<textarea name="message" rows="8" cols="50"></textarea>
</form></html>

Fichier qui reçoit les infos du formulaire :

<?php

/* Initialisation des variables */
$from = "webmaster@domaine.com"; // l'expéditeur : remplacer ici domaine.com par votre domaine
$to = "vous@domaine.com"; // le destinataire : mettez ici votre adresse mail

/* Préparation */
$subject = "Test fonction mail() de PHP"; // le sujet du mail
$email = NULL;
$message = NULL;

/* Récupération du champs email */
if (!empty($_POST['email'])) {
$email = $_POST['email'] ;
}
/* Récupération du champs message */
if ($email && !empty($_POST['message'])) {
$message = "Message envoyé par $email :\n" . $_POST['message'];
}

/* Envoi*/
if ($email && $message)
{

/* En-têtes obligatoires du message */
$headers = "From: Webmaster <$from??>\n";
$headers .= "To: Contact <$to>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-15\n";

/* Appel a la fonction mail */
if (!mail($to, $subject, $message, $headers)){
echo "Erreur: Impossible d'envoyer le mail";
} else {
echo "Envoi réussi";
}
}
else {
echo "Erreur: vous devez spécifier une adresse email valide et un texte\n";
}

?>

Le soucis est que j'ai plusieurs champs à envoyer et lorsque je les met tous à l'appel de la fonction mail, il me retourne une erreur qui me dit que cette fonction n'accepte que 5 champs.
Comment faire donc ? Merci.

2 réponses

Messages postés
24
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
13 novembre 2009

Je vais essayer de refaire mon message, car là, il est illisible. Désolé.
Messages postés
24
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
13 novembre 2009

Voici mon code, issu de l'exemple donné par Online pour l'envoie d'un formulaire par mail. Sauf que dans l'exemple de Online, il n'y avait que le champ "email" et le champ "message". Moi, j'ai rajouté d'autres champs (voir ci-dessous), et je ne sais pas comment les faire apparaitre dans le mail qui me sera retourné. La fonction mail ne supportant que 5 valeurs. Y'a-t-il une astuce ou tout simplement une solution ? Merci.

<?php


$from = "webmaster@monsite.com"; // l'expéditeur : remplacer ici domaine.com par votre domaine
$to = "monmail@free.fr"; // le destinataire : mettez ici votre adresse mail

/* Préparation */
$subject = "Demande de renseignements"; // le sujet du mail


if(isset($_POST['nom'])){
$civilite = $_POST['civilite'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$cp = $_POST['cp'];
$ville = $_POST['ville'];
$email = $_POST['email'];
$texte = $_POST['texte'];
}
$date=date("Y-m-d");



/* Envoi*/
if ($email && $texte)
{

/* En-têtes obligatoires du message */
$headers = "From: Webmaster <$from>\n";
$headers .= "To: Contact <$to>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-15\n";


/* Appel a la fonction mail */
if (!mail($to, $subject, $texte, $headers)){
echo "Erreur: Impossible d'envoyer le mail";
} else {
echo "Envoi réussi";
}
}
else {
echo "Erreur: vous devez spécifier une adresse email valide et un texte\n";
}

?>