Bonsoir à tous,

J'ai voulu faire un bien avec ce que j'avais pris sur le Net, mais, n'étant pas très branché en Php, je patauge un peu.

J'ai fait un contact-form très simple (contact.html) et un fichier de vérification (send_email.php).
Seulement, quand j'essaie d'envoyer un mail, voilà ce qui m'est retourné :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/legtux.org/users/qi98/contact/send_email.php:26) in /var/www/legtux.org/users/qi98/contact/send_email.php on line 72
C'est en anglais et je ne maîtrise pas cette langue. Si ce n'est que du mot à mot, et encore !

Pour ne pas être envahi par les spams, ou éviter des envois indélicats, j'ai peut-être un peu trop forcé sur les contrôles !

Je signale que c'est en ligne.

A tout hasard, je vous mets les codes d'envoi et de vérification que j'ai pris ici http://a-pellegrini.developpez.com/tutoriels/php/mail/
contact.html
Code html : 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
<form action="send_email.php" method="post">
<p>  
<label for="email">E-mail : *</label>  
<input type="text" id="email" name="email" />  
</p>
<p>  
<label for="sujet">Sujet  *:</label>  
<input type="text" id="sujet" name="sujet" />  
</p>  
<p>  
<label for="message">Message : *</label>  
<textarea id="message" name="message" cols="40" rows="4"></textarea>  
</p>
<p>
<input type="submit" name="envoyer" value="Envoyer" />
<input type="reset" name="effacer" value="Effacer" />
</p> 
</form>


Send_email.php
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
<?php
/* Destinataire (votre adresse e-mail) */
$to = 'qi98@legtux.org';
 
/* Construction du message */
$msg  = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis legtux.org par '.$expediteur."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";
 
/* En-têtes de l'e-mail */
/*$headers = 'From: '.$expediteur."\r\n\r\n";*/
 
/* Envoi de l'e-mail */
mail($to, $sujet, $msg, /*$headers*/);
/*-------------------------------------------*/
/*-----Détect les injections de Header ------*/
/*-------------------------------------------*/
/* Expression régulière permettant de vérifier qu'aucun en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';   
 
/* On vérifie qu'il n'y a aucun header dans les champs */ 
if (preg_match($regex_head, $expediteur) 
    || preg_match($regex_head, $sujet))
{  
    $alert = 'En-têtes interdites dans les champs du formulaire'; 
}
else
{ 
    /* envoi de l'e-mail */
}   
 
/* On affiche l'erreur s'il y en a une */ 
if (!empty($alert))
{
    echo $alert;
}
/*-------------------------------------------*/
/*--------Détect si c'est un robot------*/
/*-------------------------------------------*/
/* Si le formulaire n'est pas posté de notre site on renvoie vers la page d'accueil */
if ($_SERVER['HTTP_REFERER'] != 'http://qi98.legtux.org/send_email.php')
{  
    header('Location:http://qi98.legtux.org/'); 
} 
else
{  
    /* envoi de l'e-mail */
}
/*-------------------------------------------*/
/*-------Détect les msg vides----------*/
/*-------------------------------------------*/
if (empty($expediteur) 
    || empty($sujet) 
    || empty($message))
{  
    $alert = 'Tous les champs doivent être renseignés !';
} 
else
{  
    /* envoi de l'e-mail */
}   
 
/* On affiche l'erreur s'il y en a une */ 
if (!empty($alert))
{
    echo $alert;
}
/*-------------------------------------------*/
/*----- Détect les espaces -------------*/
/*-------------------------------------------*/
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{  
    $expediteur = stripslashes(trim($_POST['email'])); 
    $sujet = stripslashes(trim($_POST['sujet'])); 
    $message = stripslashes(trim($_POST['message'])); 
} 
else
{  
    $expediteur = trim($_POST['email']); 
    $sujet = trim($_POST['sujet']); 
    $message = trim($_POST['message']);
}
?>
Merci par avance de votre aide.