Bonjour,

Je suis en train de faire un formulaire de contact avec des balises <form> pour faire comme deux belles rubriques. Mais je veux aussi que lorsque l'on clique sur envoyer cela m'envoie sur ma boite email.

On ma conseiller d'utilisé mail() et j'ai essayer mais sans résultat!!

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
  <?
   if ($_POST['nom'] != NULL AND $_POST['prenom'] != NULL AND $_POST['age'] != NULL AND $_POST['email'] != NULL AND $_POST['sujet'] != NULL AND $_POST['message'] != NULL)
   {
     $nom = htmlentities ($_POST['nom']);
     $prénom = htmlentities ($_POST['prenom']);  
	 $age = htmlentities ($_POST['age']);  
	 $sujet = htmlentities ($_POST['sujet']); 
	 $message = htmlentities ($_POST['message']); 
    }
  ?>
 
  <?
	 $monfichier = fopen('templates.txt', 'r'); 
	 $pages_vues = fgets($monfichier); 
     $pages_vues++; 
     fseek($monfichier, 0); 
     fputs($monfichier, pages_vues); 
     fclose($monfichier); 
  ?>
 
  <?php
   $to='australiankou@yahoo.fr' . ', ';
 
    <fieldset>
	 <legend>Vos coordonnées</legend>
	   <label>Nom<br/>
	   <input type="text"name="nom"tabindex="10"/></label>
	  <br/>
	   <label>Prénom<br/>
	   <input type="text"name="prenom"tabindex="20"/></label>
	  <br/>
	  <p>
       <?
        if (isset($_POST['age']))
         {
          if (preg_match("!^[0-9][0-9][0-9]$!", $_POST['age']))
         }
       ?>
      </p>
	   <label>Age(falcutatif)<br/>
	   <input type="text"name="age"tabindex="30"/></label>
	   <br/>
	   <p> 
        <? 
         if (isset($_POST['E-mail'])) 
         { 
          if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $_POST['E-mail'])) 
          { 
           echo 'L\'adresse ' . $_POST['E-mail'] . ' est <strong>valide</strong> !'; 
          } 
         else 
          { 
           echo 'L\'adresse ' . $_POST['E-mail'] . ' n\'est pas valide, recommencez !'; 
          } 
         } 
       ?> 
	   <label>Email<br/>
	   <input type="text"name="email"tabindex="40"/></label>
	</fieldset>
 
	<fieldset>
	 <legend>Votre question</legend>
	  <p>
	   <label>A propos de<? htmlentities ($_POST['a_propos_de']); ?><br/>
	   <select name="description"tabindex="50">
	    <option value="site">Site<? htmlentities ($_POST['site']); ?></option>
		<option value="souvenir">Coup de coeur<? htmlentities ($_POST['coup_de_coeur']); ?></option>
		<option value="souvenir">Memorium<? htmlentities ($_POST['memorium']); ?></option>
		<option value="question">Question<? htmlentities ($_POST['question']); ?></option>
	    <option value="probleme">Problème<? htmlentities ($_POST['probleme']); ?></option>
	    <option value="autre">Autre<? htmlentities ($_POST['autre']); ?></option>
	   </select>
	   </label>
	  <br/>
	   <label>Sujet<br/>
	   <input type="text"name="sujet"tabindex="60"/></label>
	  <br/>
	   <label>Message<br/>
	   <textarea name="message"rows="10"cols="50"tabindex="70"></textarea>
	  </p>
	</fieldset>
 
	 $headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	 $headers .= 'From: Netcenters' . "\r\n";
 
    <BUTTON type=submit>Envoyer</BUTTON><BUTTON type=reset>Effacer</BUTTON>
 
	mail($to, $headers);
   ?>
Alors déjà, je voudrais savoir si mes htmlenties sont bien en place?

Si mes Regex sont bien en place? Si ils sont bien utilisez?

Le templates est-il utile?

Quelqu'un ma écrit :
1) Utilisation de !empty() serait nettement souhaitable.
2) La regex email est une passoire

Je ne vois pas en quoi du htmlentities sur toutes les valeurs passées en POST soit très utile.
La question à se poser est la suivante :
- Que suis-je prêt à accepter dans les champs de mon formulaire ?
A partir de ça, avec les bonnes vérif, on n'a pas besoin de mettre du htmlentities sur le champ email (vérifié par une bonne regex) ou un champ comme "age" qui normalement ne recevra que des chiffres ?????
Je voudrais savoir ce qu'est empty et comment l'utilisé?

Ma regex email est une passoire? Qu'est-ce que cela veux dire? comment la faire étanche?

Mon formulaire ne fonctionne pas, comment je peux y remédié?

Merci