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 :

Deux chaînes égales à l'affichage et différente lors du traitement !! [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut Deux chaînes égales à l'affichage et différente lors du traitement !!
    Salut
    Je travaille avec easyphp 1-8 et windows Xp professionel version 2002 service pack2
    Je rencontre un probleme etrange lorsque je compare deux chaine l'une provenant d'une base de donneés mysql et l'autre d'un formulaire html

    A l'affichage des deux chaine je trouve qu'elle sont identique mais le test d'egalité m'affirme qu'il ne sont pas identique

    Bon je vous passe les detailles :

    -Vous allez trouvez le projet dans le fichier extrabit_pr.rar .Ce fichier contient aussi le script de creation de la base de données avec ces donneés
    je vous prit de faire un effort pour comprendre le code du projet car je ne trouve pas de place pour l'explication de son fonctionnement .c'est comme même un petit projet et il n'y même pas une relation entre les tables de la base de données

    le probleme se pose lorsque j'accede àcette page : http://127.0.0.1/extrabit/user/gesti...gest_user1.php et j'insert le login et le mot de passe (par exepmple login = moha .mot de passe = dah) j'obtient comme resultat :


    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
     
    select login_user, pwd_user, type_user from users WHERE users.login_user = 'moha'
     
     
    le login de l'utilisateur ds la base est : moha
    le mot de passe de l'utilisateur ds la base est : dah
    le type de l'utilisateur ds la base est : 1
     
     
    le login de l'utilisateur ds la page est : moha
    le mot de passe de l'utilisateur ds la page est : dah
     
    le type du pwd de la base est string
    le type du pwd de la page est string
     
    les deux chaines dah et dah ne sont pas identique!!
    il ya a peut pres 4 jours que cherche la cause et pas de solution

    Merci à celui qui maidera.
    Salut

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Comment fais-tu pour comparer tes deux chaines ?
    si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($chaine_1,  $chaine_2);
    qu'est-ce que ça dit ?

  3. #3
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Hello,

    désolé, pas le temps ni le courage de me monter un environnement de dev rien que pour tester tes trucs. En tous cas il serait bon que tu fasses au moins les tests de débugages basiques, par exemple en regardant ce que t'indique var_dump( $tavar ) dans les deux cas.

    Il y a fort à parier que ce soit un problème d'espace, et/ou de charset.


    EDIT : grilled

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Une remarque au passage : plutôt que de mettre tes variables dans des guillemets doubles, je te recommande de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $useracs = new User($tab_log[0], $tab_log[1], '', '', $tab_log[2]);
    Par ailleurs, je te recommande très vivement d'utiliser mysql_fetch_assoc() car là, tu ne sais pas à quoi correspond $tab_log[0] à moins d'aller vérifier dans je ne sais quel fichier inclus je ne sais où... Utiliser mysql_fetch_assoc() te permettrait de savoir quel champ tu inclus quand tu relis ton code, sans à avoir à faire 50 va et vient entre les fichiers.

    Un truc que tu pourrais faire est encadrer le mot de passe de caractères lors de ton affichage. Si ça se trouve, il ne s'agit que d'une espace...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          echo "le mot de passe de l'utilisateur ds la base est : -".$useracs->getpwd_user()."-<br>";
          echo "le mot de passe de l'utilisateur ds la page est : -".$user->getpwd_user()."-<br>";

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut Salut Désolé pour le ratard
    Salut je suis désole pourceque je repond aprés tant de temps .
    Mais je croyait que j'avait activé "notification instantané par email" et je consultait toujours mon email, comme mon abitude, sans trouver de réponses .Ce jours là, je me contect sur le forum pour trouver ,par hasard , qu'il ya des reponses pour le sujet. Je vais tester vos propositions .Merci tous pour vos efforts.
    Salut

  6. #6
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    Si ça se trouve, il ne s'agit que d'une espace...
    +1
    utilises la fonction trim() sur les valeurs avant de les comparer...


  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut MErci vous m'avez sauvé
    Salut merci pour tous ceux qui ont contribuer à cette aide.j'ai utilisé le fonction trim() et ca marche.
    j'ai arreté le travail depuis mon premier poste .je pensait des fois a installer unix pour travailler sur la place conviviale de php j'ai même à ne plus utiliser php et mysql et easy php .et partir vers jsp ou asp. surtout sue je pensait que aucun n'a voulu fuiner dans mon petite prejet.
    merci une autre fois et
    Salut

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

Discussions similaires

  1. Passage de variables entre deux JSP toujours égale à null ?
    Par sak_ura dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 03/11/2011, 09h22
  2. Réponses: 9
    Dernier message: 17/02/2011, 17h14
  3. Réponses: 5
    Dernier message: 24/10/2009, 18h14
  4. Comment savoir que deux dates sont égales ?
    Par bassim dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 19/12/2006, 19h36

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