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 :

gestion des tirets dans une adresse mail


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 74
    Points : 55
    Points
    55
    Par défaut gestion des tirets dans une adresse mail
    Bonjour,
    Je stocke dans une base de données SQL les adresses mail des membres d'un club.
    J'ai un problème avec les adresses comportant un tiret du genre : abcd-efgh@gmail.com ou abcd@efgh-ijk.com
    Lorsque j'effectue une boucle WHILE dans mon programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHILE ($donnees = $reponse->fetch()){
    echo "Mail = ".$donnees['mail'].'<br>';
    }
    le trait d'union "-" fiche le bazar et réagit comme un retour à la ligne.
    Résultats :
    1° cas :
    abcd
    efgh@gmail.com
    2° cas
    abcd@efgh
    ijk.com
    Quelqu'un pourrait-il m'aider s'il vous plaît ?
    D'avance merci.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par marjan Voir le message
    J'ai un problème avec les adresses comportant un tiret du genre : abcd-efgh@gmail.com ou abcd@efgh-ijk.com
    Lorsque j'effectue une boucle WHILE dans mon programme

    le trait d'union "-" fiche le bazar et réagit comme un retour à la ligne.
    Résultats :
    1° cas :
    abcd
    efgh@gmail.com

    2° cas
    abcd@efgh
    ijk.com
    Dans ta base de données, les "-" sont-il stockés et bien visibles ? (regarde dans MySQL Workbench ou phpMyAdmin)
    Si tu affiches la source HTML de ta page, vois-tu les "-" ? Peux-tu nous coller le résultat ici ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Merci de vous occuper de mon cas !.

    dans la bdd :
    papa.toto@systeme-u.fr (j'ai changé le nom de l'individu)

    dans le source de la page html :
    <span class = "champs27">papa.toto@systeme-u.fr</span><br>

    le résultat dans la boucle WHILE :

    papa.toto@systeme-
    ligne suivante :
    u.fr.

    champs27
    {
    position: absolute;
    left: 1000px;
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    	WHILE ($donnees = $reponse->fetch()){
    		?>	<span class = "champs11"><?php echo $donnees['Nom'];?></span><span class = "champs12"><?php echo $donnees['Prenom'];?></span>
    			<span class = "champs13"><?php echo $donnees['Adresse'];?></span><span class = "champs24"><?php echo $donnees['CP'];?></span>
    			<span class = "champs25"><?php echo $donnees['Ville'];?></span>
    			<span class = "champs26"><?php echo $donnees['Portable'];?></span>
    			<span class = "champs27"><?php echo $donnees['Mail'];?></span><br>
    		<?php
    	}
    cela ne se produit qu'avec les adresses mail.
    Le tiret est bien géré pour les vllles.
    Seuls les mails sont affectés par la maladie !..

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    le résultat dans la boucle WHILE :

    papa.toto@systeme-
    ligne suivante :
    u.fr.
    Ça c'est le rendu visuel sur le navigateur ou bien le HTML dans la source ?

    Sur le rendu visuel, il y a la place de tout afficher sur 1 ligne ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Je suis honteux ... Si j'agrandis la fenêtre, le résultat visuel est bon !.

    Par contre, certaines choses que je ne comprends pas :
    La longueur du mail se coupe systématiquement au tiret, alors qu'elle a largement la place pour rentrer dans la page.
    Les mails qui ne comprennent pas de tiret et malgré tout plus longs (en nombre de caractères) tiennent sans problème dans la page.
    Pourquoi donc la coupure se fait au tiret.
    C'est vrai qu'il y a beaucoup d'informations sur une ligne, mais sur un écran normal (13") ça va bien

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    La longueur du mail se coupe systématiquement au tiret, alors qu'elle a largement la place pour rentrer dans la page.
    Un conteneur HTML doit avoir une taille plus petite que tu ne l'imagines, le tiret est un caractère privilégié pour opérer une césure.

    Les mails qui ne comprennent pas de tiret et malgré tout plus longs (en nombre de caractères) tiennent sans problème dans la page.
    Parce que leur conteneur doit être étiré.

    Mets des "border: 2px solid blue" un peu partout pour comprendre ce qui se passe.

    En CSS tu as la propriété white-space qui permet de contrôler les retours à la ligne => https://developer.mozilla.org/fr/doc...SS/white-space
    Il existe aussi word-wrap => https://developer.mozilla.org/fr/doc.../overflow-wrap
    Et word-break => https://developer.mozilla.org/fr/doc...CSS/word-break
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Un grand merci pour tes explications.

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

Discussions similaires

  1. [Debutant] notation des espaces dans une adresse
    Par DiVa dans le forum Débuter
    Réponses: 3
    Dernier message: 16/03/2006, 17h58
  2. Gestion des buffers dans une fonction
    Par JiJiJaco dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 11h20
  3. gestion des utilisateurs dans une solution 3-tiers
    Par nadia lydia dans le forum Oracle
    Réponses: 3
    Dernier message: 26/10/2005, 12h58
  4. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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