Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2011, 14h16   #1
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Par défaut Accent dans mail de confirmation

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 :
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>
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 14h24   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
t'as pas de mysql_set_charset ?
les htmlentities ne sont pas dans le bon encodage
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 14h26   #3
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Ton fichier qui envoi le mail doit aussi être dans le bon encodage!
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 15h07   #4
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
merci stealth35 mais je ne comprends pas bien :
où dois-je mettre le mysql_set_charset et comment ?
et que dois-je modifier dans les htmlentities ?
(je suis débutant...) merci encore
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 15h23   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par fazpedro Voir le message
merci stealth35 mais je ne comprends pas bien :
où dois-je mettre le mysql_set_charset et comment ?
et que dois-je modifier dans les htmlentities ?
(je suis débutant...) merci encore

suffit de faire un petit tour dans la doc
http://php.net/manual/fr/function.mysql-set-charset.php
http://fr.php.net/manual/fr/function.htmlentities.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 16h00   #6
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
désolé stealth35 mais j'avais déjà vu ces pages mais je ne capte pas...!
j'ai essayé de mettre ce qui est indiqué mais j'avais des messages d'erreur ou pas de changement sur les accents...
où dois-je mettre et comment ?
encore merci !
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 16h11   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
montre comment t'as fait
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 21h25   #8
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
dans le premier cas :
Citation:
Fatal error: Call to undefined function unhtmlentities() in /mnt/154/sdc/8/e/fazpedro/pdf_inscription2.php on line 21
avec le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//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 recupère les informations saisies pour affichage dans le mail de bienvenue
		$pseudo2 = unhtmlentities($pseudo);
		$mdp2 = unhtmlentities($mdp);
		$nom2 = unhtmlentities($nom);
		$prenom2 = unhtmlentities($prenom);
		$ville2 = unhtmlentities($ville);
		$born2 = unhtmlentities($born);

dans le deuxième cas, pas de message d'erreur mais le mail contient des é
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//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 recupère les informations saisies pour affichage dans le mail de bienvenue
		$pseudo2 = html_entity_decode($pseudo);
		$mdp2 = html_entity_decode($mdp);
		$nom2 = html_entity_decode($nom);
		$prenom2 = html_entity_decode($prenom);
		$ville2 = html_entity_decode($ville);
		$born2 = html_entity_decode($born);
Besoin d'aide !
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 09h45   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
enlève tout les htmlentities et html_entity_decode,
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 10h49   #10
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
j'ai modifié le code et j'ai toujours des é

Code :
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
110
<?php
session_start(); //On démarre une session
require("configuration.php"); //On insert le fichier qui contient les informations
 
$mail = ($_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 = ($_POST['pseudo']);
		$mdp = ($_POST['mdp']);
		$verif_mdp = ($_POST['verif_mdp']);
		$nom = ($_POST['nom']);
		$prenom = ($_POST['prenom']);
		$ville = ($_POST['ville']);
		$born = ($_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
		mysql_query("SET NAMES 'utf8'");
		$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>FAZ A CAEN</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>
Structure de ma table pdf_membre :
Code :
1
2
3
4
5
6
7
8
9
10
Champ	Type	Interclassement
id		int(11)		auto_increment
pseudo	varchar(255)	utf8_general_ci	
pass	varchar(255)	utf8_general_ci	
mail	varchar(255)	utf8_general_ci	
confirm	text	utf8_general_ci	
nom		text	utf8_general_ci	
prenom	text	utf8_general_ci	
ville	text	utf8_general_ci	
born	date
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 10h57   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
si ton serveur n'envoie pas de l'utf-8 tu peux le forcer en mettant un header : Content-Type

Code :
header('Content-Type: text/html; charset=UTF-8');
ps: t'as pas mysql_set_charset ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h18   #12
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
j'ai mis ceci qui ne change rien (toujours des é....)
Code :
1
2
/*On Fait la variable contenant le mail de confirmation*/
header('Content-Type: text/html; charset=UTF-8');
j'ai essayé aussi en plus de charset...ci-dessus :
Code :
1
2
$sql = connect_sql(); //On se connecte à MySQL
mysql_set_charset('utf8',$sql);
=> mais message d'erreur !
Citation:
Fatal error: Call to undefined function mysql_set_charset() in pdf_inscription2.php on line 55
que dois-je faire exactement ?
Merci de vos réponses...
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 15h00   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
t'es chez quel hébergeur ?
la page de ton formulaire est bien en utf-8 aussi ?

dans firefox quand tu fais dans la page : clique droit -> Informations sur la page, l’encodage est bien utf-8 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 15h11   #14
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Je suis chez SQL Free...

mon code du formulaire :
Code :
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
<!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="en" 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="style.css" />
</head>
 
<body>
 
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
 
<div id="mainContent">
 
<form name="form1" method="post" action="pdf_inscription2.php">
<p />
<br />
<fieldset><legend> &nbsp; Inscription &nbsp; </legend>
 
<label for="pseudo">Pseudo :</label> 
<input type="text" tabindex="1" name="pseudo" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'pseudo');" class="ev" /><span id="pseudo" style="color:red"></span>
<br />
<label for="pseudo">Mot de Passe :</label>
<input type="password" tabindex="2" name="mdp" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'mdp');" class="ev" /><span id="mdp" style="color:red"></span>
<br />
<label for="pseudo">Retapez votre mot de passe :</label>
<input type="password" tabindex="3" name="verif_mdp" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'verif_mdp');" class="ev" /><span id="verif_mdp" style="color:red"></span>
<br />
<label for="pseudo">Votre E-Mail :</label>
<input type="text" tabindex="4" name="mail" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'mail');" class="ev" /><span id="mail" style="color:red"></span>
<br />
<label for="pseudo">Nom</label> 
<input type="text" tabindex="5" name="nom" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'nom');" class="ev" /><span id="nom" style="color:red"></span>
<br />
<label for="pseudo">Prenom :</label> 
<input type="text" tabindex="6" name="prenom" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'prenom');" class="ev" /><span id="prenom" style="color:red"></span>
<br />
<label for="pseudo">Ville :</label> 
<input type="text" tabindex="8" name="ville" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'ville');" class="ev" /><span id="ville" style="color:red"></span>
<br />
<label for="pseudo">Date de Naissance (jj/mm/aa): </label> 
<input type="text" tabindex="9" name="born" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'born');" class="ev" /><span id="born" style="color:red"></span>
<br />
</fieldset>
 
<input type="submit" tabindex="10" name="Submit" value="Inscription" />
 
</form>
 
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
 
</body>
 
</html>
Dans Firefox : informations sur la page (formulaire et script inscription2... en UTF-8...)

Merci stealth35 de ta compréhension sur mon incompréhension...
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 15h13   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
tu lis les mails avec quel client ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 16h05   #16
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
j'utilise Mozilla Thundebird
mais j'ai la même chose (avec des é....) directement dans Yahoo mail...
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 16h06   #17
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
j'utilise Mozilla Thunderbird
mais j'ai la même chose (avec des é....) directement dans Yahoo mail...
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 16h58   #18
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
t'as oublier le \r\n a la fin du content-type, je te conseil de mettre tout le corps de ton mail dans un variable, et te faire un echo dessus pour voir ce que ça donnera au final (montre au passage)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/06/2011, 22h21   #19
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
voici mon code modifié qui fonctionne (presque..)
Code :
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
110
111
112
 
<?php
session_start(); //On démarre une session
require("configuration.php"); //On insert le fichier qui contient les informations
 
$mail = ($_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=($_POST['pseudo']);
		$mdp = ($_POST['mdp']);
		$verif_mdp = ($_POST['verif_mdp']);
		$nom = ($_POST['nom']);
		$prenom = ($_POST['prenom']);
		$ville = ($_POST['ville']);
		$born = ($_POST['born']);
 
		/*On Fait la variable contenant le mail de confirmation*/
		header('Content-Type: text/html; charset=UTF-8');
		$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 .= '<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 .= 'Voici un rappel de vos identifiants, notez les pr&eacute;cieusement : ';
		$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 &agrave; jour';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '&agrave; tr&egrave;s bient&ocirc;t sur le site !';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<a href="'.$url_site.'">MON SITE</a>.</p>';
 
		$sql = connect_sql(); //On se connecte à MySQL
		// $sql2 = mysql_set_charset('utf8',$sql);
		mysql_query("SET NAMES 'utf8'");
		$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\r\n";
			$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="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>
une dernière chose : comment empêcher l'utilisateur de saisir en pseudo des accents ?
exemple : si je saisis fazpédro au lieu de fazpedro en pseudo, j'ai le message d'erreur..!
merci
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 23h09   #20
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
avec un regexp
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h14.


 
 
 
 
Partenaires

Hébergement Web