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 :

user avec caractère accentué [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut user avec caractère accentué
    Bonjour

    J'ai une identification qui rejette systématiquement en cas d'emploi de caractères accentués.
    Les champs de ma base sont encodés en UTF8_general_ci, et les noms en caractères accentués apparaissent correctement dans la base via php my admin.
    Les pages du site sont encodés en UTF8. Quand je fait un echo des variables celles ci sont affichées correctement avec les bons accents.
    Comment faire pour que la comparaison des user et pass avec la BDD fonctionnent avec les caractères accentués?
    page 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Accueil identification base Master Films</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
     
    </head>
    <body>
     
    <div class="container">
     <div class="header">
     <center><img src="images/masterfilm2.png" alt=" logo " height="60px"  id="Insert_logo" style="background: #C6D580; display:block;" /></center>
     </div>
      <div class="content">
     
        <p><center>Veuillez vous identifier.</center></p><center>
     
        <form action="verif_util.php"  method="post">
        <label>Nom<br />
            <input type="text" name="nom" id="nom" />
          </label><br /><br />
          <label> mot de passe</label><br /><input name="passe" type="password" id="pass" />
          <br /><br /><input  type="submit" value="s'identifier" />
          </form></center>
        <p><!-- end .content --></p>
        <br />
     
      </div>
      <div class="footer">
     
        </p>
        <!-- end .footer --></div>
      <!-- end .container --></div>
    </body>
    </html>
    code pour verification
    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
    <?php 	
    session_start();
    include("base.php");
    $id= $_REQUEST[nom];
    $pass=$_REQUEST[passe];
    $_SESSION['typeadmin']='rien';
    $_SESSION['admin']='non';
    $_SESSION['test']="nom".$id."  pass".$pass;
    $sqlutil= "SELECT  * FROM  utilisateurs WHERE identifiant='$id'";  
    $resultat = mysql_query($sqlutil) or die(mysql_error());
    while ($user =mysql_fetch_array ($resultat)){
    	$nomuser=$user['identifiant'];
    	$pass2=$user['pass'];
    	$genre=$user['type'];
    	$typeclient=$user['client'];
     
    	IF(($pass2==$pass)and ($nomuser==$id)){
    		$_SESSION['admin']='oui';
    		$_SESSION['typeadmin']=$genre;
    		$_SESSION['typeclient']= $typeclient;
     
    	 }
     
    }
    	 ?>
        <meta http-equiv='refresh' content='0; URL=recherche-master-global.php'>
     
    </body>
    </html>

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Les fonctions utf8_decode() et utf8_encode() peuvent sûrement t'aider.

  3. #3
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    OK super ça fonctionne.
    Mais je ne comprend pas pourquoi alors que toutes mes pages ont en UTF8 il faut passer par un decode.
    PHP traite tout en ISO-8859-1 ?

    donc si cela peut aider les autres j'ai modifié le code comme ci dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    include("base.php");
    $id= $_REQUEST[nom];
    $id=UTF8_decode($id);
    $pass=$_REQUEST[passe];
    $pass=UTF8_decode($pass);

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Ce ne serait pas plutôt ta base qui serait en latin 1 ?

  5. #5
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    Ah oui les champs étaient en UTF8 mais pas la base elle même.
    J'ai enlevé les decode et cela fonctionne.
    Enfin j'espère que cela fonctionne.
    Dans le post précédent je disais que cela fonctionnait et quand j'ai repris aujourd'hui cel ne fonctionnait plus !?

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

Discussions similaires

  1. [WD17] [Accès natif Mysql]Unicode: plantage requête avec caractère accentué..
    Par Christophe Charron dans le forum WinDev
    Réponses: 4
    Dernier message: 03/03/2013, 16h59
  2. enregistrer un .TXT avec caractère accentué
    Par Mic92 dans le forum Général Python
    Réponses: 1
    Dernier message: 02/09/2010, 18h42
  3. Probleme de carré avec caractère accentué
    Par kaygee dans le forum ASP
    Réponses: 3
    Dernier message: 16/10/2008, 15h51
  4. Réponses: 5
    Dernier message: 19/09/2007, 14h47
  5. [JEditorPane] Problème avec caractère accentué
    Par scifire dans le forum Composants
    Réponses: 6
    Dernier message: 14/09/2005, 14h58

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