Bonjour à tous,

J'ai pratiquement terminé un site.
Dans celui-ci je désire ajouter un formulaire qui me permettrait de traiter mes données avec une base en sql et parallèlement de les recevoir dans ma boite mail.
Toute la partie sql est écrite et fonctionne correctement.
C'est la fonction "mail" qui me pose problème :
- je ne sais pas où l'insérer dans ma page de traitement.
- je ne sais pas non plus exactement comment l'écrire, en fonction de mes variables.
Mon niveau en php me permet de bidouiller un petit peu, mais là ça devient trop compliqué pour moi. Je complique mon code, et rien ne fonctionne.
Je pense y avoir passé trop de temps et ne plus voir même les choses les plus évidentes.
Voici le code de ma page de traitement, sans la partie "mail". L'un d'entre vous saurez me dire où je dois l'insérer et m'orienter dans sa rédaction, svp?
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
 
 
<?php
  /* tableau de légende des champs */
  $labels = array ( "prenom" => "Prénom: ",
  		"nom" => "Nom: ",
                         "mail" => "Mail: ",
                         "secteur" => "Secteur d'activité: ",
		"ville" => "Ville: ",
		"renseignements" => "Renseignements: ");
 
/* regarde les champs reçus */
  foreach($_POST as $field => $value)
  {
    /* Charche les champs vides */
    if( $value == "" )
    {
      $blank_array[] = $field;
    }
	/* Teste le format des champs */
    elseif( ereg("(nom)",$field) )  
    {
      if(!ereg("^[A-Za-z' -]{1,50}$",$value) )
      {
          $bad_format[] = $field;
      }
    }
    elseif($field == "mail")
    {
      if(!ereg("^.+@.+\.fr$",$value) )
      {
          $bad_format[] = $field;
      }
    }
  } // Fin de foreach sur $_POST
  /* Si problème, afficher un message et revenir au formulaire */
  if(@sizeof($blank_array) > 0 or @sizeof($bad_format) > 0)
  {
    if(@sizeof($blank_array) > 0)
    {
        /* Information manquante */
        echo "<b>Un champ au moins est vide. Vous devez le remplir :</b><br>";
        /* Liste des données manquantes*/
        foreach($blank_array as $value)
        {
           echo "&nbsp;&nbsp;&nbsp;{$labels[$value]}<br>";
        }
    }
    if(@sizeof($bad_format) > 0)
    {
        /* Informations incorrectes */
        echo "<b>Un champ au moins contient une information incorrecte. Veuillez la corrigez:</b><br>";
        /* Liste des champs incorrects */
        foreach($bad_format as $value)
        {
           echo "&nbsp;&nbsp;&nbsp;{$labels[$value]}<br>";
        }
    }
    /* réaffichage du formulaire */
    echo "<p><hr />";
    echo "<h3>Remplissez le formulaire de demande de renseignement</h3>";
    echo "<form action='traitement.php' method='POST'>
          <table>";
    foreach($labels as $field => $label)
    {
      $good_data[$field]=strip_tags(trim($_POST[$field]));
      echo "<tr>
             <td style='text-align: right; font-weight: bold'>
	  	        $label</td>
             <td><input type='text' name='$field' size='65'
                 maxlength='65' value='$good_data[$field]'></td>
            </tr>";
    }
    echo "<tr>
           <td colspan='2' style='text-align: center'>
              <input type='submit' value='Envoyer le formulaire'>";
    echo "</td></tr></table>
          </form>";
    exit();
  }
  else   //Si les données sont OK. Envoyer le formulaire et se connecter à la base
  {
    $user="user";
    $host="localhost";
    $password="password";
    $database="nom_base";
    $cxn = mysqli_connect($host,$user,$password,$database)
           or die ("connexion au serveur impossible");
	//Vérifier le format du champ "mail"
    $fields_all = array_keys($labels);
    foreach($fields_all as $field)
    {
      $good_data[$field] = strip_tags(trim($_POST[$field]));
    }
	//Inserer les données du formulaire dans la table "entreprise"	   
    $query = "INSERT INTO entreprise (prenom,nom,mail,secteur,ville,renseignements) 
              VALUES ('$good_data[prenom]','$good_data[nom]','$good_data[mail]','$good_data[secteur]','$good_data[ville]','$good_data[renseignements]')";
    //message d'erreur, si l'envoi du formulaire se passe mal
	$result = mysqli_query($cxn,$query)
              or die ("L'envoi du formulaire a échoué");
 
	//Message si l'envoi du formulaire se passe bien		  
    echo "<h4>Votre demande a bien été envoyé. Nous vous remercions.</h4>";
  }
?>
</body></html>
Merci d'avance