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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 !

+ Répondre à la discussion
Cette discussion est résolue.

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