Bonjour à tous,

J'ai un problème avec ce bout de 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
 
if (isset($_POST['email'])) {
		//**********************************//
		$email = $_POST['email'];
		$email = stripslashes($email);
		$email = trim($email);
		$email = str_replace("'","",$email);
		$email = str_replace(" ","",$email);
		$email = str_replace('"','',$email);
		$email = str_replace(";",",",$email);
		$email = str_replace("#","@",$email);
 
		$j=explode(',',$email);
 
		for ($i=0; $i<count($j); $i++){ 
 
			$j[$i]=str_replace("'","",$j[$i]);
			if (!preg_match("#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i",$j[$i])) {
				echo '<h2 class="error">Attention !</h2><p class="not-valid">Le format des e-mails n\'est pas valide.</p>';
				$warning = 'style="color:#C00;"';
				//break;
			}
		}
 
		if (!preg_match("#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i",$_POST['mailperso'])) {
			echo '<h2 class="error">Attention !</h2><p class="not-valid">Votre adress e-mail n\'est pas valide.</p>';
			$warning = 'style="color:#C00;"';
			}
 
		elseif (empty($_POST['mailperso'])) {
 
			echo '<h2 class="error">Attention !</h2><p class="not-valid">Vous n\'avez pas insérer votre adresse e-mail.</p>';
		}
 
		if (!empty($_POST['message'])) {
 
			 $txtArea = $_POST['message'];
	$txtArea = stripslashes($txtArea);
	$txtArea = nl2br($txtArea);			
	$txtArea = str_replace('\r\n','<br>',$txtArea);
	$txtArea = str_replace('\r','<br>',$txtArea);
	$txtArea = str_replace('\n','<br>',$txtArea);
 
			  if ($_POST['lang'] == 'fr') {
			  include('mail-perso-fr.php');
			  } else {
			  include('mail-perso-en.php');
			  } 
 
		} else {
 
			  echo '<h2 class="error">Attention !</h2><p class="not-valid">Vous n\'avez pas écrit de message.</p>';   
 
		}  
 
		}

Il s'agit de valider des champs remplis préalablement dans un formulaire qui se trouve en dessous de ce script sur la même page.

Mon problème est le suivant, en l'état il contrôle bien que les trois champs (email, mailperso et message) sont remplis et complétés correctement mais j'ai essayé d'y placer la fonction mail() et la selon son positionement il envoi le mail et affiche les erreurs.

Je comprends pourquoi mais je n'arrive pas à trouver une solution pour que quand toutes les conditions sont positives il envoie l'email si et seulement si...

D'avance merci beaucoup pour votre aide !