Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
680 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU][php]pb gestion des accents dans formulaire

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU][php]pb gestion des accents dans formulaire

n°2210061
brutax
Posté le 12-11-2013 à 22:53:55  profilanswer
 

Salut à tous  :bounce:  
 
Je suis en train d'écrire un formulaire. Celui ci pointe vers une autre page, et j'ai ajouté target="_blank" comme attribut dans la balise <form>. J'utilise la méthode POST.

Code :
  1. <form autocomplete="off" target="_blank" method="post" name="formulaire" action="resultat.php">


 
Quand j'arrive sur ma page resultat.php, j'affiche les variables contenues dans les champs de type "text" et là, surprise : tous les champs qui avaient des valeurs accentuées sont vides.
Je jette donc un oeil aux en-têtes HTTP via les outil de chrome, et je remarque que les variables $_POST correspondant aux champs qui ont des caractères accentués sont marqués :

Code :
  1. unable to decode value


 
Voilà. Du coup, je peux même pas convertirmes valeurs avec un htmlentities() vu qu'elles arrivent même pas dans mes variables POST  :pfff: .
 
Merci du coup demain  :jap:


Message édité par brutax le 13-11-2013 à 16:32:26
mood
Publicité
Posté le 12-11-2013 à 22:53:55  profilanswer
 

n°2210154
brutax
Posté le 13-11-2013 à 14:57:26  profilanswer
 

up ;-)

n°2210155
deejay59
Posté le 13-11-2013 à 15:04:48  profilanswer
 

Vérifies l'encodage de tes fichiers, pour éviter tout problème avec les caractères accentués priviligie l'UTF8.
Il manque uniquement le caractère accentué ou toute la chaine est vide?


Message édité par deejay59 le 13-11-2013 à 15:06:09
n°2210161
olivthill
Posté le 13-11-2013 à 15:18:35  profilanswer
 

C'est un problème classique, mais il manque des informations sur ce qui se passe avant "unable to decode value", car il peut y avoir plusieurs cas différents.
 
D'une manière générales, les solutions sont d'utiliser l'une et/ou l'autre des fonctions rawurldecode(), stripslashes(), eregi_replace(), trim().
 
Il faut aussi se méfier des apostrophes, des guillemets, des slashs, des espaces, et des caractères non imprimables.

n°2210162
brutax
Posté le 13-11-2013 à 15:19:54  profilanswer
 

En fait, toute la chaine est vide dès qu'il y a le moindre petit accent dedans...
Mes pages sont encodées en ISO-8859-1
Si je les passes en UTF8, j'ai peur d'avoir des soucis dans le reste de mon site web :-/

 

Par contre, en cherchant un peu, j'ai vu qu'il y a un attribut ACCEPT-CHARSET pour les balises form.
Je vais tester ça ;)

 

edit : les apostrophes, slashs, virgules et tout passent sans problèmes. C'est vraiment les éèàâ... qui posent problème.
Vu que mes variables ne sont même pas présentes dans les $_POST[], je peux même pas y passer les rawurldecode(), stripslashes(), eregi_replace(), trim().
Je regarderai ce soir ce qu'il y a avant les "unable to decode value"


Message édité par brutax le 13-11-2013 à 15:22:33
n°2210177
brutax
Posté le 13-11-2013 à 16:32:06  profilanswer
 

C'est OK !
J'ai rajouté ces attributs dans ma balise form
 
ACCEPT-CHARSET="utf-8"
lang="fr"
 
je sais pas si le deuxième apporte quelque chose mais bon, ça mange pas de pain de le laisser.
 
a+, merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU][php]pb gestion des accents dans formulaire

 

Sujets relatifs
Écrire dans un txt depuis un formulaire et incrémentationformulaire VBA modal
fichier audio grâce à formulaire Access et Media PlayerEditeur de site pour formulaire un peu complexe
gestion de la réponse Y / N de Xcopy /P en MSDOS (WS2003 R2)Formulaire access
Renvoyer des champs d'un formulaire vers un autregestion d erreur, rollback
Aide pourde la gestion de base de données sans AccesAjax formulaire dans une boucle
Plus de sujets relatifs à : [RESOLU][php]pb gestion des accents dans formulaire


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR