Formulaire de contact

lamuler Messages postés 2 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 2 avril 2010 - 11 févr. 2010 à 22:27
lamuler Messages postés 2 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 2 avril 2010 - 14 févr. 2010 à 15:17
Bonsoir, Je suis entrain de créer un site internet et j'ai télécharger un formulaire de contact quelque part (je ne sait plus sur quel site ^^) Il fonctionne très bien mais ce formulaire a les champs "Nom, email, sujet, message" et moi j'aimerais le modifier en mettant "civilité, nom, prénom, email, message" mais vu la longeur du code source et mon niveau dans le domaine, je ne sait absolument pas comment m'y prendre (J'aimerais la civilité avec des petits ronds a cocher ^^)

Pouvez-vous m'aider ? je vous en serait très reconnaissant

Voila le formulaire :

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mon@email.fr';

// copie ? (envoie une copie au visiteur)
$copie = 'non';

// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu, nous allons le traiter dans les plus brefs délais, Merci !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient correctement remplis.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

/*
* 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;
};

$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

if (isset($_POST['envoi']))
{
// 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é
$err_formulaire = (IsEmail($email)) ? false : true;

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 == 'non')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('
','',$message);
$message = str_replace('
','',$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo ''.$message_envoye.'

'."\n";
}
else
{
echo ''.$message_non_envoye.'

'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo ''.$message_formulaire_invalide.' [contact.php Retour au formulaire]

'."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";
echo ' '."\n";
echo ' <label for="nom">Nom :</label>'."\n";
echo ' '."\n";
echo '

'."\n";
echo ' '."\n";
echo ' <label for="email">Email :</label>'."\n";
echo ' '."\n";
echo '

'."\n";
echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";
echo ' '."\n";
echo ' <label for="objet">Objet :</label>'."\n";
echo ' '."\n";
echo '

'."\n";
echo ' '."\n";
echo ' <label for="message">Message :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
echo '

'."\n";
echo ' </fieldset>'."\n";

echo '

'."\n";
echo '</form>'."\n";
};
?>

2 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
14 févr. 2010 à 14:22
Ce n'est pas très compliqué à mettre en place, pourquoi ne as essayer de la faire seul et demander de l'aide si tu as un problème ?

Pour t'aider, il faut que tu fasse les choses suivantes :

Ajouter les champs dans le formulaire (ce que tu veux c'est un input type radio pour la civilité, pour le prénom c'est comme pour le nom)
Récupérer les valeurs choisies par l'utilisateur (comme lors de la récupération du nom : $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; )
Vérifier qu'une case à bien été cochée et qu'un prénom a été saisi(là ou on vérifie que le nom n'est pas vide)
Ajouter les informations supplémentaires dans le message (variable $message)

Bon courage et n'hésite pas à demander des précisions.



Grrrrrrrrrrr
0
lamuler Messages postés 2 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 2 avril 2010
14 févr. 2010 à 15:17
Merci de ta réponse,
Mais j'ai trouvé un super tutoriel sur Grafikart. J'ai donc refait entièrement mon formulaire comme je le souhaitait :D

Donc si ca peut aider quelqu'un d'autre ;)
0
Rejoignez-nous