|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : février 2005 Messages : 80 ![]() |
Bonjour,
j'ai une zone telephone dans un formulaire à remplir par l'utilisateur. le zero du debut n'est pas gardé lorsque j'insere l'info dans la base MYSQL. je recupere la valeur : Code :
$tel = htmlspecialchars($_POST['telephone'], ENT_QUOTES); jusque là le format est bien gardé. voici ma requete d'insertion: Code :
j'ai essayé en faisant : mais ca ne change rien. je ne veux pas forcer le zero car le telephone n'est pas forcement en france. si qqu'un peut me donner un coup de main ce serait parfait. Merci. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
(code et pas php)Quel est le type de ton champ tel dans ta base ? |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : février 2005 Messages : 80 ![]() |
salut,
je galerai un peu avec les balises, merci de m'avoir indiqué, le champ est varchar(14) |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
$tel 2 et $tel je suppose que c'est la même chose...
Il doit y avoir une conversion implicite en entier quelque part, mets des echo un peu partout pour savoir où (à chaque traitement sur $tel). |
|
|
00
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Inscription : février 2005 Messages : 80 ![]() |
oui $tel2 et $tel sont identiques, j'ai rectifié.
j'ai affiché ma requete : Code :
mais je me retrouve avec 123456789 dans ma base. la valeur de tel n'a pas de guillemets dans la requete, il faudrait forcer le type mais je ne sais pas comment. |
||
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 583 ![]() |
hello,
ta fonction quote_smart, j'imagine que c'est celle qu'on peut trouver sur php.net, ou qu'elle lui ressemble. donc dans ce cas, elle echappe les chaines et les met entre guillemets pour l'insertion dans la base. et elle laisse passer les numériques. du coup comme un n° de téléphone n'est composé que de chiffres, elle confond et le traite comme un entier, alors que toi tu t'attends à le voir traité comme chaine. pour résoudre ce probleme tu as juste à rajouter des guillemets ou des apostrophes dans le modele de ta requete ==> tel='%s' , fax='%s' etc. et ce pour tous les trucs qui peuvent porter à confusion. Bon courage pour la suite. |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Encadre le numéro de téléphone avec des quotes comme pour les autres champs.
|
|
|
00
|
|
|
#8 | ||
|
Futur Membre du Club
![]() Inscription : février 2005 Messages : 80 ![]() |
Merci, le pb vient bien de quote_smart.
du coup j'ai géré la variable à part car je laisse la possiblité d'inserer des separateurs pour le telephone, donc la variable peut etre numerique ou une chaine. Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() Inscription : juin 2002 Messages : 1 013 ![]() |
au lieu de mettre ton champ en varchar, tu peux le mettre en tinytext
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com