Nous sommes le Ven 18 Juil, 2025 17:53
Supprimer les cookies

Phpmyaddressbook possibilité d'avoir un zero.

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 27 Mai, 2008 18:12

Bonjour,

Voilà dans ce super logiciel j'amerais savoir ou se trouve dans le code php la possibilité de garder le 0 au début des champs comme le code postal pour avoir des code postaux comme 02100?

Merci.
seedaumas

Messages : 9

Mar 27 Mai, 2008 18:15

Je pense que la base de données considère le code postal comme un nombre, donc qui ne commence pas par zéro.
Une des possibilités est de changer le type de champ, et de mettre "VARCHAR" à la place. Par contre, là tu pourras sûrement mettre des valeurs alphabétiques ou alphanumériques.
Mais je ne connais pas les détails de ce logiciel, désolé :?
lebendre

Messages : 1417
Géo : Sur ma montagne

Mar 27 Mai, 2008 18:20

Le code postal est de type TEXT comme tous les autres.
Donc cela doit venir d'ailleur.

[EDIT] si l'on met le 0 à la min dans la base celui si s'affiche dans l'interface mais si l'on modifie le contact il disparait donc c'est dans le code.

Merci.
seedaumas

Messages : 9

Mar 27 Mai, 2008 18:56

seedaumas a écrit:si l'on met le 0 à la min dans la base celui si s'affiche dans l'interface mais si l'on modifie le contact il disparait donc c'est dans le code.

ah, alors c'est effectivement avant que ça se passe...
Est-ce que tu connais un peu le php?
lebendre

Messages : 1417
Géo : Sur ma montagne

Mar 27 Mai, 2008 19:03

A noter que si tu inscris ton code postal sous la forme 01 234 le zéro reste... tout comme dans un numéro de tel si tu les sépares. Mais le projet a l'air actif, et on peut joindre l'auteur directement, tu peux peut être lui faire remonter le problème de façon à ce qu'il le prenne en compte dans la prochaine version...

Cordialement
L'homme n'est pas fait pour travailler et la preuve, c'est que ça le fatigue. (Marcel Proust)
dedenimes

Messages : 2410
Géo : proche de Nîmes

Mar 27 Mai, 2008 19:06

Vérifie que le champ déclaré pour la mise en forme à l'écran ne soit pas de type INT. ou qu'il n'y a pas à un moment donné entre affichage et base une variable de type entier. PHP et MySQL savent facilement transformer des entier en texte et inversement (tant que cela reste correct) sans erreur et donc sans prévenir.
Tu détecteras surement un petit loupé.
Ensuite il y a des paramètres d'affichage dans les champs pour pader (comme dans XL ou Calc) avec des caractères fixes. Fais ton choix entre la base et l'affichage de faire tout en entier ou tout en texte et hop ca marche.

GaeliX
Il y a 10 sortes de gens, ceux qui comprennent le binaire et ceux qui ne le comprennent pas.
Ne jamais attribuer à la malignité ce que la stupidité suffit à expliquer. (loi du rasoir d'Hanlon)
GaeliX

Messages : 408
Géo : Villiers sur Orge

Mer 28 Mai, 2008 13:49

Le (mauvais) fonctionnement constaté dans ce fil est présent depuis longtemps dans phpMyAddressbook et résulte d'une fonction php visant à protéger phpMyAddressbook d'une attaque par injection (faites une recherche sur le net, les attaques par injection constituent souvent le point faible des applis écrites en php.

J'ai donc utilisé une fonction de protection qui, telle quelle, semble générer plus de problème qu'elle n'apporte de réponse. Cette fonction sera modifiée dans la prochaine version de phpMyAddressbook, la version 1.9, afin que tous les champs soient considérés comme du texte.

Actuellement, php déterminait par lui-même si la variable était numérique ou non, puis effectuait un traitement de protection différent selon le cas.
ploc

Messages : 18

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit