IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accent dans mail de confirmation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    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 : 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>

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as pas de mysql_set_charset ?
    les htmlentities ne sont pas dans le bon encodage

  3. #3
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Ton fichier qui envoi le mail doit aussi être dans le bon encodage!

  4. #4
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    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

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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

  6. #6
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    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 !

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    montre comment t'as fait

  8. #8
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    dans le premier cas :
    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 : 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
    //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 : 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
    //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 !

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    enlève tout les htmlentities et html_entity_decode,

  10. #10
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    j'ai modifié le code et j'ai toujours des é

    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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    si ton serveur n'envoie pas de l'utf-8 tu peux le forcer en mettant un header : Content-Type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: text/html; charset=UTF-8');
    ps: t'as pas mysql_set_charset ?

  12. #12
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    j'ai mis ceci qui ne change rien (toujours des é....)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = connect_sql(); //On se connecte à MySQL
    mysql_set_charset('utf8',$sql);
    => mais message d'erreur !
    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...

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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 ?

  14. #14
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    Je suis chez SQL Free...

    mon code du formulaire :
    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
    <!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...

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu lis les mails avec quel client ?

  16. #16
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    j'utilise Mozilla Thundebird
    mais j'ai la même chose (avec des é....) directement dans Yahoo mail...

  17. #17
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    j'utilise Mozilla Thunderbird
    mais j'ai la même chose (avec des é....) directement dans Yahoo mail...

  18. #18
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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)

  19. #19
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    voici mon code modifié qui fonctionne (presque..)
    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
    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

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    avec un regexp

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Affichage des accents dans un e-mail
    Par lemirandais dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/10/2009, 10h20
  2. [Mail] envoyer des accents dans un mail
    Par yuyu599 dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2008, 16h58
  3. [Mail] Accent dans un titre
    Par Ema*h dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2008, 22h45
  4. [WSS 3.0] Accents dans les liens par mail
    Par maxstone dans le forum SharePoint
    Réponses: 1
    Dernier message: 23/10/2007, 16h59
  5. Réponses: 5
    Dernier message: 12/01/2006, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo