Bonjour,

j'ai un code PHP qui permet de s'inscrire à mon site, qui fonctionne bien, la seule chose où je m'arrache les cheveux, c'est le mail de confirmation qui contient des sigles bizarres :
Exemple : gérard au lieu de gérard

j'ai essayé de mettre ma base SQL en utf-8 et en iso-8859 mais rien n'y fait...
avez-vous une idée où ça coince ?
Merci.

mon 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
session_start(); //On démarre une session
require("configuration.php"); //On insert le fichier qui contient les informations
 
$mail = htmlentities($_POST['mail']);
 
    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
    {
		$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
		$confirm = str_shuffle($chaine); //On créé le code de confirmation
		//On recupère les informations saisies
		$pseudo = htmlentities($_POST['pseudo']);
		$mdp = htmlentities($_POST['mdp']);
		$verif_mdp = htmlentities($_POST['verif_mdp']);
		$nom = htmlentities($_POST['nom']);
		$prenom = htmlentities($_POST['prenom']);
		$ville = htmlentities($_POST['ville']);
		$born = htmlentities($_POST['born']);
 
		/*On Fait la variable contenant le mail de confirmation*/
		$message1 =  '<html>'.'<body>'.'Bonjour '.'<b>'.$pseudo.'</b>'.' et bienvenue sur '.$nom_site; 
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Vous venez de vous inscrire et nous sommes heureux de pouvoir vous compter aujourd\'hui parmi nos membres'; 
		$message1 .= '<br>'.'</br>';
		$message1 .= '<a href="' .$url_script. '/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '">Cliquer pour confirmer votre inscription</a>.</p>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement : ';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Pseudo : '.'<b>'.$pseudo.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Mot de passe : '.'<b>'.$mdp.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Mail : '.'<b>'.$mail.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Nom : '.'<b>'.$nom.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Pr&eacute;nom : '.'<b>'.$prenom.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre ville : '.'<b>'.$ville.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Date de naissance : '.'<b>'.$born.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'A très bientôt sur le site!';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<a href="'.$url_site.'">MON SITE</a>.</p>';
 
		$sql = connect_sql(); //On se connecte à MySQL
		$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo' OR mail='$mail'") or die (mysql_error());
		$donnees = mysql_fetch_array($verification)or die (mysql_error());
 
		if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
		{ 
		$reponse = 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
		}
		else
		{	
			if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) || empty($born)) //On verifie que les variables précédentes ne soient pas vide
			{
			$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
			}
			elseif( $mdp != $verif_mdp) //On verifie que les 2 pass sont identiques
			{
			$reponse = 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
			}
			else //Si tout est bon on entre les données dans la BDD et on envoit le mail
			{
			mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$nom', '$prenom', '$ville', '$born')");
			$reponse = 'Bravo, vous &ecirc;tes maintenant inscrit sur ' .$nom_site. '. <br>Vous allez recevoir un e-mail dans quelques instants pour activer votre compte. <br><a href="' .$url_site. '">Retour &agrave; l\'Accueil</a>';
			$entete = "MIME-Version: 1.0\r\n";
			$entete .= "Content-type: text/html; charset=utf-8";
			$entete .= "From: <$email_admin>\r\n";
			$entete .= "Reply-To: $email_admin\r\n";
			mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login .'.' , $message1, $entete);
			}
		}
	mysql_close($sql); //On se deconnecte
	}
	else //Reponse si l'adresse e-mail est une fausse
	{
	$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
	} 	
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="http://style.css" />
</head>
<body>
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
<div id="mainContent">
<br />
<br />
<? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->
</div>
<br />
<br />
<?php include('bas_de_page.php'); ?> <!-- insère le bandeau principal en haut -->
</body>
</html>