Bonjour,
Je viens vers vous car je suis confronté à un problème pour mon formualire, j'ai adpter un script php pour la validation, l'envoi par email ainsi que le message de confirmation d'envoi de celui-ci.
Le but est de faire un formulaire correspondant à ce cachier des charge :
Fonctionnalité du formulaire lorsque l’on clique sur envoi :
1) contrôle des différents champs du formulaire sont bien renseignés
2) affichage du message d’alerte si tous les champs ne sont pas renseignés
3) affichage par une couleur de font sur les champs non renseignés
4) contrôle du champs email si elle possède un @ et un .
5) contrôle du champ téléphone, qui possède bien 10 chiffres
6) contrôle du champ CP (code postale) qui possède bien 5 chiffres
7) si tous les champs sont renseignés, envoi du formulaire par mail
8) affichage dans le même page du formulaire que le message a bien été envoyé
Pour la page qui est envoyé par email
1) afficher d’adresse de l’expéditeur à savoir monSite.com
2) message d’entête de l’email envoyé (Email du formulaire du site monSite.com)
3) récupération de toutes les infos du formulaire et présentation de celle-ci
4) affichage du jour et de l’heure de l’envoi du formulaire
Mon code PHP et Xhtml :
Merci de vos conseil et aide, car je galère vraiment !!!
Modifié par Gobelin (20 Sep 2006 - 22:10)
Je viens vers vous car je suis confronté à un problème pour mon formualire, j'ai adpter un script php pour la validation, l'envoi par email ainsi que le message de confirmation d'envoi de celui-ci.
Le but est de faire un formulaire correspondant à ce cachier des charge :
Fonctionnalité du formulaire lorsque l’on clique sur envoi :
1) contrôle des différents champs du formulaire sont bien renseignés
2) affichage du message d’alerte si tous les champs ne sont pas renseignés
3) affichage par une couleur de font sur les champs non renseignés
4) contrôle du champs email si elle possède un @ et un .
5) contrôle du champ téléphone, qui possède bien 10 chiffres
6) contrôle du champ CP (code postale) qui possède bien 5 chiffres
7) si tous les champs sont renseignés, envoi du formulaire par mail
8) affichage dans le même page du formulaire que le message a bien été envoyé
Pour la page qui est envoyé par email
1) afficher d’adresse de l’expéditeur à savoir monSite.com
2) message d’entête de l’email envoyé (Email du formulaire du site monSite.com)
3) récupération de toutes les infos du formulaire et présentation de celle-ci
4) affichage du jour et de l’heure de l’envoi du formulaire
Mon code PHP et Xhtml :
<?php
//envoi du mail
$destinataire = 'monEmail@Hebergeur.com;
$titre= "Réception des données envoyés depuis le formulaire du site DesignSite.free.fr";
$expediteur = "monsite.com";
$reponse = $expediteur;
echo '$nom' ;
echo '$prenom' ;
echo '$email' ;
/*
* On commence par vérifier si le bouton soumettant le formulaire a été
* cliqué, "envoi" étant l'attribut "name" du bouton "submit"
* Sinon, on saute à la ligne 255 de ce code.
*/
if(isset($_POST['envoi']))
{
/* Récupération des données du formulaire */
$nom = isset($_POST['nom']) ? trim($_POST['nom']) : "";
$prenom = isset($_POST['prenom']) ? trim($_POST['prenom']) : "";
$email = isset($_POST['email']) ? trim($_POST['email']) : "";
$societe = isset($_POST['societe']) ? trim($_POST['societe']) : "";
$adresse = isset($_POST['adresse']) ? trim($_POST['adresse']) : "";
$ville = isset($_POST['ville']) ? trim($_POST['ville']) : "";
$cp = isset($_POST['cp']) ? trim($_POST['cp']) : "";
$fonction = isset($_POST['fonction']) ? trim($_POST['fonction']) : "";
$telephone = isset($_POST['telephone']) ? trim($_POST['telephone']) : "";
$message = isset($_POST['message']) ? $_POST['message'] : null;
/**
* Définition des variables servant au traitement de l'adresse électronique et du numéro de
* téléphone: on utilise ici des expressions régulières.
*/
$valid = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#";
$phone = "#^\d{10}$#";
/**
* Définition des variables servant au traitement de l'url:
*/
/**
* Validité d'une url
*/
$validurl = "#^(? [decu]?:https?|ftp)://)?(?:w{3}\.)?[^\W]?[\w-\.]*[^\W]?\.[a-z]{2,4}(?:/(?:~?[^\W]?[\w-\./]*[^\W]?(?:\.[a-z]{2,4})?(?:\?\w+=\w+(? [decu]?:&|&)\w+=\w+)*)?)?)?$#i";
/**
* Traitement de vérification des champs vides ou invalides (téléphone et/ou email et/ou url)
* Conditions de mauvaises réponses (champ vide par exemple)
*/
if ($nom == '' || $prenom == '' || $email == '' || !(preg_match($valid, $email)) || $societe == '' || $adresse == ''|| $ville == ''|| $cp == ''|| $fonction == '' || $telephone == '' || !(preg_match($phone,$telephone)) || $message == '' )
{
/* Action à adopter */
?>
<h3 class='cadreMesgForm'>Informations incomplètes</h3>
<p class='cadreMesgForm'>Attention, veuillez remplir tout les champs.</p>
}
<?php
if ($nom == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre nom</p>\n";
}
if ($prenom == '')
{
/* Si le champ "prénom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre prénom</p>\n";
}
if(!$email)
{
/* Si le champ "adresse électronique" est vide, */
print "<p class='cadreMesgForm'>Vous avez omis de mentionner une adresse électronique !</p>\n";
}
if(($email) && !(preg_match($valid, $email))) /* Si il y a une adresse inscrite mais invalide */
{
/* On vérifie LES DEUX conditions réunies (avec le sugne "&&"): si on ne vérifie que la validité, en ne
mettant pas d'adresse dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à
ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */
print "<p class='cadreMesgForm'>L'adresse électronique saisie est invalide.</p>\n";
}
if ($societe == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé le nom de votre société</p>\n";
}
if ($adresse == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre adresse</p>\n";
}
if ($ville == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas préciséle nom de votre ville</p>\n";
}
if ($cp == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre code postale</p>\n";
}
if ($fonction == '')
{
/* Si le champ "nom" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre fonction</p>\n";
}
if ($telephone == '')
{
/* Si le champ "téléphone" est vide, */
print "<p class='cadreMesgForm'>Vous n'avez pas précisé votre numéro de téléphone</p>\n";
}
if (($telephone) && !(preg_match($phone,$telephone)))
{
print "<p class='cadreMesgForm'>Le numéro de téléphone doit comporter seulement des chiffres, de 6 à 10 chiffres sans espaces ni tirets</p>\n";
}
if($url && (!(preg_match($validurl, $url))))
{
print "<p class='cadreMesgForm'>L'adresse du site Web saisie est invalide.</p>\n";
}
/**
* Si les vérifications ont généré des erreurs, affichage du formulaire
* contenant les données déjà saisies.
*/
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data" method="post" name="Contact" id="Contact">
<table width="100%" border="0">
<tr>
<td class="textFrom" width="120">Civilité :</td>
<td align="left" width="580">
<input type="radio" name="sexe" value="homme" checked="checked" />
<label>Mr</label>
<input type="radio" name="sexe" value="femme" />
<label>Me</label>
<input type="radio" name="sexe" value="fille" />
<label>Mlle</label> </td>
</tr>
<tr>
<td class="textFrom">Nom :</td>
<td>
<input class="textChamp" type="text" name="nom" size="40" maxlength="40" value="<?php echo $nom ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Prénom :</td>
<td>
<input class="textChamp" type="text" name="prenom" size="40" maxlength="40" value="<?php echo $prenom ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Mail :</td>
<td>
<input class="textChamp" type="text" name="email" size="40" maxlength="40" value="<?php echo $email ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Société : </td>
<td>
<input class="textChamp" type="text" name="societe" size="40" maxlength="40" value="<?php echo $societe ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Adresse : </td>
<td>
<input class="textChamp" type="text" name="adresse" size="40" maxlength="50" value="<?php echo $adresse ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Ville :</td>
<td>
<input class="textChamp" type="text" name="ville" size="40" maxlength="50" value="<?php echo $ville ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Code postal : </td>
<td>
<input class="textChamp" type="text" name="cp" size="5" maxlength="10" value="<?php echo $cp ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Fonction : </td>
<td>
<input class="textChamp" type="text" name="fonction" size="40" maxlength="40" value="<?php echo $fonction ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Téléphone : </td>
<td>
<input class="textChamp" type="text" name="telephone" size="40" maxlength="40" value="<?php echo $telephone ?>" /> </td>
</tr>
<tr>
<td class="textFrom">Message : </td>
<td>
<textarea class="textChamp" name="commentaire" cols="50" rows="10" id="Commentaire" value="" /><?php echo $remark ?></textarea> </td>
</tr>
<tr>
<td align="right"></td>
<td>
<input name="envoyer" class="textBt" type="submit" value="Envoyer">
<input name="annuler" class="textBt" type="reset" value="Annuler">
</td>
</tr>
</table>
</form>
<?php
}
else
{
?>
Merci de vos conseil et aide, car je galère vraiment !!!
Modifié par Gobelin (20 Sep 2006 - 22:10)