Bonjour,
Avant tout je voulais remercier ceux qui vont prendre le temp de lire !
Voici j'ai un probleme avec le script suivant. J'ai plusieur champs "societe" "nom" "email" "tel" "fax" "objet" "message".
Lorsque l'on est sur le site, je script controle bien que tout les champs soit remplis, mais lors de l'envois, je ne recois que le champs message les autres champs ne sont pas prix en compte. Pouvez-vous m'aider ?
Voici les deux pages (la premiere est le visuel et la second est le fichier d'envois).
Merci a tout ceux qui trouverons une solution.
page 1 contright.php
<div id="arbo">
<strong>Vous êtes ici :</strong> <i>Accueil > Bienvenue sur ETPH.BE ! > contact</i>
</div>
<br />
<form id="contact" method="post" action="fr/contact/traitement_formulaire.php">
<fieldset><legend>Vos coordonnées :</legend>
<table>
<tr><td valign="baseline"><p><label for="societe">Société :</label></td><td><input type="text" id="societe" name="societe" tabindex="1" /></p></td></tr>
<tr><td valign="baseline"><p><label for="nom">Nom :</label></td><td><input type="text" id="nom" name="nom" tabindex="2" /></p></td></tr>
<tr><td valign="baseline"><p><label for="email">Email :</label></td><td><input type="text" id="email" name="email" tabindex="3" /></p></td></tr>
<tr><td valign="baseline"><p><label for="tel">Tel :</label></td><td><input type="text" id="tel" name="tel" tabindex="4" /></p></td></tr>
<tr><td valign="baseline"><p><label for="fax">Fax :</label></td><td><input type="text" id="fax" name="fax" tabindex="5" /></p></td></tr>
</table>
</fieldset>
<br />
<fieldset><legend>Votre message :</legend>
<table>
<tr><td valign="baseline"><p><label for="objet">Objet :</label></td><td> <input type="text" id="objet" name="objet" tabindex="6" /></p></td></tr>
<tr><td valign="top"><p><label for="message">Message :</label></td><td><textarea id="message" name="message" tabindex="7" cols="30" rows="8"></textarea></p></td></tr>
</table>
</fieldset>
<br />
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
</div>
page 2 traitement_formulaire.php
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '[email protected]';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$fax = (isset($_POST['fax'])) ? Rec($_POST['fax']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="javascript:window.history.go(-1)">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Bonjour,
Avant tout je voulais remercier ceux qui vont prendre le temp de lire !
Voici j'ai un probleme avec le script suivant. J'ai plusieur champs "societe" "nom" "email" "tel" "fax" "objet" "message".
Lorsque l'on est sur le site, je script controle bien que tout les champs soit remplis, mais lors de l'envois, je ne recois que le champs message les autres champs ne sont pas prix en compte. Pouvez-vous m'aider ?
Voici les deux pages (la premiere est le visuel et la second est le fichier d'envois).
Merci a tout ceux qui trouverons une solution.
page 1 contright.php
[php]<div id="arbo">
<strong>Vous êtes ici :</strong> <i>Accueil > Bienvenue sur ETPH.BE ! > contact</i>
</div>
<br />
<form id="contact" method="post" action="fr/contact/traitement_formulaire.php">
<fieldset><legend>Vos coordonnées :</legend>
<table>
<tr><td valign="baseline"><p><label for="societe">Société :</label></td><td><input type="text" id="societe" name="societe" tabindex="1" /></p></td></tr>
<tr><td valign="baseline"><p><label for="nom">Nom :</label></td><td><input type="text" id="nom" name="nom" tabindex="2" /></p></td></tr>
<tr><td valign="baseline"><p><label for="email">Email :</label></td><td><input type="text" id="email" name="email" tabindex="3" /></p></td></tr>
<tr><td valign="baseline"><p><label for="tel">Tel :</label></td><td><input type="text" id="tel" name="tel" tabindex="4" /></p></td></tr>
<tr><td valign="baseline"><p><label for="fax">Fax :</label></td><td><input type="text" id="fax" name="fax" tabindex="5" /></p></td></tr>
</table>
</fieldset>
<br />
<fieldset><legend>Votre message :</legend>
<table>
<tr><td valign="baseline"><p><label for="objet">Objet :</label></td><td> <input type="text" id="objet" name="objet" tabindex="6" /></p></td></tr>
<tr><td valign="top"><p><label for="message">Message :</label></td><td><textarea id="message" name="message" tabindex="7" cols="30" rows="8"></textarea></p></td></tr>
</table>
</fieldset>
<br />
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
</div>[/php]
page 2 traitement_formulaire.php
[php]<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '
[email protected]';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$fax = (isset($_POST['fax'])) ? Rec($_POST['fax']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="javascript:window.history.go(-1)">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>[/php]