Anomalie #1170
ferméidentifiant tronqué lors de l'inscription
0%
Description
Salut Johan,
lors de l'inscription ou lors de la modification d'une fiche d'adhérent, un identifiant de plus de 20 caractères est enregistré mais tronqué (sans avertissement)
exemple avec "ch.dxnxxva_boyygyes-es.com" qui va devenir "ch.dxnxxva_boyygyes-".
L'adhérent en question a reçu un mail mentionnant l'identifiant "ch.dxnxxva_boyygyes-es.com" (qui ne fonctionne pas vu qu'il a été enregistré tronqué)
Proposition de solution: réduire la taille du champ HTML à 20 caractères ou ne pas enregistrer un champ tronqué.
(testé avec Galette 9.0 et chrome)
Bonne soirée,
Amaury.
Fichiers
Mis à jour par Johan Cwiklinski il y a plus de 6 ans
- Priorité changé de Haut à Normal
- Version cible
0.9.2supprimé
Ce problème ne se pose pas avec PostgreSQL qui lèvera une exception si une valeur est plus longue que ce qui est prévu. La configuration de mysql peut être également modifiée en conséquence.
Il est à noter que le problème n se pose pas que sur ce champ, mais sur à peu près tous...
Mis à jour par Johan Cwiklinski il y a plus de 6 ans
Quelle est la version du moteur de base utilisée ? Je n'ai pas le souci en local :
MariaDB [galette_09]> UPDATE galette_adherents SET login_adh = 'abcdefghijklmnopqrstuvwxyz' WHERE id_adh=1; ERROR 1406 (22001): Data too long for column 'login_adh' at row 1
MariaDB [galette_09]> select version(); +-----------------+ | version() | +-----------------+ | 10.2.14-MariaDB | +-----------------+ 1 row in set (0.00 sec)
Mis à jour par Johan Cwiklinski il y a plus de 6 ans
- Statut changé de Nouveau à Commentaire
Mis à jour par Amaury Froment il y a plus de 6 ans
- Fichier bug1170_confirmation.png bug1170_confirmation.png ajouté
- Fichier bug1170_form.png bug1170_form.png ajouté
- Fichier bug1170_profil.png bug1170_profil.png ajouté
voici le détail de mes configurations où le pb est répétable:
coté serveur de prod:
- Mysql: innodb_version 5.5.55
- version de bdd galette: 0.820
- structure du champ login_adh: varchar(20) utf8_unicode_ci
- Galette v0.8.3.3
- PHP 7.0
- Mysql: innodb_version 5.7.14
- (version de bdd galette: 0.820)
- galette-0.9-rc3-20171029-56999c78ef (tout juste installé)
- PHP 7.0.10
Navigateur Chrome. Voir screenshots en PJ.
Mis à jour par Amaury Froment il y a plus de 6 ans
dernier wamp serveur
- Mysql: innodb_version 5.7.21
- (version de bdd galette: 0.820)
- galette-0.9 (tout juste installé)
- PHP 7.2.4
Je ne reproduis plus le bug, j'ai bien un message d'alerte:
"Une erreur est survenue lors de l'enregistrement de l'adhérent."
(Ce serait tout de même plus élégant de préciser l'origine de cette erreur.)
Mis à jour par Johan Cwiklinski il y a plus de 6 ans
- Statut changé de Commentaire à Rejeté
Amaury Froment a écrit :
Je ne reproduis plus le bug, j'ai bien un message d'alerte:
"Une erreur est survenue lors de l'enregistrement de l'adhérent."
(Ce serait tout de même plus élégant de préciser l'origine de cette erreur.)
C'est le cas, dans les logs, lorsque l'info est transmise par le serveur SQL. L'affichage des erreurs SQL verbatim est à proscrire, et la gestion plus "fine" de tout cela serait trop compliquée à mettre en place, notamment entre les différents moteurs supportés.
Mis à jour par Stéphane Muteau il y a plus de 6 ans
Bonjour,
j'ai eu le soucis aujourd'hui en modifiant le login et pseudo d'un utilisateur, les 2 champs sont à 20 caractères maxi.
Je fais prenom.nom mais lui a 23 caractères en tout (nom composé).
J'ai dû passer à 30 et son nouveau login est pris en compte.
Est-il possible de le modifier par défaut la longueur de pseudo_adh et login_adh dans une future release ?
Merci Johan
ma config :
Galette version: v0.9.1.2
PHP version: 7.1.18
PHP/Web: cgi-fcgi
Database: mysql