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

Langage PHP Discussion :

maxlength d'un input sur une page php ?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut maxlength d'un input sur une page php ?
    Bonjour, svp j'ai besoin d'une explication si vous pouvez m'aider :

    Sur une page php j'ai des input à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id="Prenom"  size="40" maxlength="28"
    comme exemple

    et sur la structure de la bd ils sont à varchar 35

    je ne comprends pas pourquoi je trouve des prenom à 34 caractère malgré que sur la l'interface le max de caractère est 28 est ce logique ?

    j'ai essayé de changé sur la BD mais j'ai des prénom qui ne sont pas significatifs parce qu'il sont tronqués ?

    une idée

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    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 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id="Prenom"  size="40" maxlength="28"
    Je suppose qu'il s'agit de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="Prenom"  size="40" maxlength="28">
    (c'est toujours mieux d'avoir un tag complet, quitte à ce que tu l'allèges des éléments inutiles)

    C'est juste la saisie dans le champ texte qui est limitée.

    En base tu peux avoir des valeurs plus longues car :
    1. Elles ont peut-être été soumises AVANT que cette restriction HTML n'ait été mise en place
    2. Elles ont peut-être été soumises sans passer par le formulaire HTML

    j'ai essayé de changé sur la BD mais j'ai des prénom qui ne sont pas significatifs parce qu'il sont tronqués ?
    Je ne comprends pas.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Du moment que les memes champs ont une taille sur la BD supérieur a la taille autorisée par l'interface, je voulais mettre la meme taille sur la BD mais les données sont tronquées du coup je n'ai pas des données qui sont significatives.




    C'est juste la saisie dans le champ texte qui est limitée.

    En base tu peux avoir des valeurs plus longues car :
    1. Elles ont peut-être été soumises AVANT que cette restriction HTML n'ait été mise en place : la restriction est instaurée dés le début
    2. Elles ont peut-être été soumises sans passer par le formulaire HTML : les champs ou il y a un problèmes provienent de la même interface

    le problème, sur l'environnement de test je ne dépasse pas le maxlength autorisée sur l'interface

    mais sur la BD de production je trouve des champs avec une taille supérieure a celle autorisée par l'interface.

  4. #4
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 750
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour

    Si, aujourd'hui, dans ta DB tu as des enregistrements où la valeur est plus longue de xxxxx, ben forcément, si tu réduis la taille, la donnée sera tronquée.

    S le nom est "Pourroy de L'Auberivière de Quinsonas-Oudinot de Reggio" (47 lettres) et que tu adaptes ta DB pour n'avoir plus que 45 lettres; ben oui... Solution ? Il n'y en a pas.
    Tu dois adapter à la main ou accepter que la donnée soit tronquée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    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 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    2. Elles ont peut-être été soumises sans passer par le formulaire HTML

    les champs ou il y a un problèmes provienent de la même interface
    En prod il y a peut-être des ptits malins qui ne passent pas par ton formulaire et ses limitations.
    Il faut prévoir des vérifs côté serveur si c'est si important, autrement il faut accepter que ça puisse arriver.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    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 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    D'ailleurs je précise que ton <input> sans name et avec un id me laisse penser que le <input> peut être valorisé par JavaScript, et qu'en JS tu peux affecter n'importe quoi au champ, ce ne sera pas limité par le maxlength HTML.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input class="font zone_text" style="width:220px;height:30px"  maxlength="28" autocomplete="off" title="Merci de saisir le nom en français" name="Nom_FR" id="Nom_FR" type="text" size="40"   />
    voila mon input complet

    j'ai vérifié toute les ligne en js invoquant id="Nom_FR", il teste juste si .value est !=''

    l'interface de saisie est une interface a onglets j'en doute qu'il peuvent passer toutes ces infos en url surtout les données de ces champs ne sont pas des données sensibles, c'est juste le nom, prenom

    que se passe t'il alors ?

    pourquoi moi je ne peux pas saisir plus que 28 caractères, l'interface me bloque ???

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    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 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Msysteme Voir le message
    que se passe t'il alors ?
    Déjà dit.

    pourquoi moi je ne peux pas saisir plus que 28 caractères, l'interface me bloque ???
    Ben c'est le comportement voulu il me semble.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  9. #9
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    que se passe t'il alors ?
    Déjà dit.
    peux tu m'expliquer d'avantage, j'ai vu coté javascript il ne traite pas le maxlength dans le code

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    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 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut 32423
    Citation Envoyé par Msysteme Voir le message
    peux tu m'expliquer d'avantage
    Un ptit malin a fait sauter le maxlength, ça se fait en 2 clics : sur le input > clic droit > inspecter,
    ou si le nom devait vraiment être long, s'est rapproché d'un admin pour une màj directement en bdd.
    Si c'est vraiment un problème, il faut faire une vérif de la longueur de la chaîne côté serveur lors du traitement du formulaire.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  11. #11
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    quand j'ai inspecté la page j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input class="font zone_text" autocomplete="off" style="width: 217px; height: 30px" title="Merci de saisir le prenom " name="Prenom_FR" type="text" id="Prenom_FR" value="eeeeeeeeeeeeeeeeeeeeeeeeeeee" size="40" maxlength="45" onkeypress="if (event.keyCode > 48 &amp;&amp; event.keyCode < 57) event.returnValue = false;">


    maxlength="45" comment ca ? sur mon interface je ne peux saisir que 28

  12. #12
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    il n'y a aucun moyen de forcer maxlength qui est changé par js a 45 caractère au lieu de 28

Discussions similaires

  1. Comment ouvrir un document msoffice sur une page PHP ?
    Par sequadio dans le forum Langage
    Réponses: 3
    Dernier message: 29/10/2007, 18h40
  2. Réponses: 6
    Dernier message: 25/06/2007, 13h10
  3. Calcul temps passé sur une page PHP pur
    Par mathieugamin dans le forum Langage
    Réponses: 10
    Dernier message: 29/03/2007, 18h22
  4. Réponses: 1
    Dernier message: 20/09/2006, 01h29
  5. Afficher un calendrier sur une page php
    Par griese dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 12/06/2006, 10h53

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