1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| <?php
class SendMail
{
// propri�tés privées : tous les éléments et attributs utilisables (certaines valeurs sont entrées par défaut)
//variable de ma classe[...]
var $action; //variable permettant de tester si le formulaire vient juste d'�tre cr�er
//Constructeur
public function SendMail ($type = "texte")
{
$this->action=1;
if ($type == "texte")
{
$this->entete = "Content-type: text/plain; charset=iso-8859-1n";
}
elseif ($type == "html")
{
$this->entete = "Content-type: text/html; charset=iso-8859-1n";
}
}
public function __GetAction()
{
return $this->action;
}
public function __SetAction($new_Action)
{
$this->action=$new_Action;
}
//instructions de ma classe [...]
}//fin de la classe SendMail
//Création d'un nouvel objet SendMail
$destinataire="test@test.com"; //on configure l'adresse destinataire
$objet="Test mail site";
$contenu="";
$Email=new SendMail("HTML");
echo '<p>test cas 1</p>';
switch($Email->__GetAction())
{
case 1:
//on met tous les champs à vide s'ils sont nulls
$nom = isset($_POST['nom']) ? $_POST['nom'] : '';
//etc...[...]
break;
case 2:
//Récupération des variables du formulaire
$valid=0; //variable servant à déterminer si $action change d'état ou non
//on vérifie que les entrées obligatoires ne soient pas vides
//on vérifie, si elles sont remplies, qu'elles correspondent
//au pattern passé en paramètre
if($Email->TestEmpty($nom))
{
echo '<p>Le champ "Nom" est vide</p>';
$valid++;
}
else
{
if($Email->TestEntry($Email->patternstring, $nom)==0)
{
echo '<p>Le champ "Nom" n\'a pas un format valide</p>';
$valid++;
}
};
//idem pour les autres champs [...]
if($valid==0)
{
$Email->__SetAction(3);
//les entrées sont valides, on passe à l'envoi de mail
}
break;
case 3:
//Envoi du mail car toutes les données sont valides
//[...]
break;
}
$Email->ActionSubmit();
echo '<p>'.$Email->__GetAction().'</p>';
?>
<div ID="Body">
<H2>Nous contacter</H2>
<form method="POST" action="?" enctype=multipart/form-data>
<fieldset>
<legend>Vos coordonnées</legend>
<label class="label_Coord" for="nom">Nom </label><input type="text" name="nom" id="nom" value="<?php echo htmlentities($nom); ?>"/><p class="p_asterisk">*</p><br/>
<!-- Je n'ai mis qu'un champs, mais la syntaxe est la même pour les autres -->
<p class="p_com">Veuillez remplir les champs suivit d'un <strong>*</strong></p>
<input type="submit" value="Envoyer"/>
</form>
</div> |
Partager