|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Invité de passage
![]() Inscription : décembre 2005 Messages : 14 ![]() |
Bonjour à tous.
Je suis en train d'auto-apprendre ce petit monde du développement web, et histoire de prendre de suite les bonnes habitudes, j'aimerais savoir s'il y a déjà quelque part un sujet qui traite de la bonne "transmission" du contenu d'un champ éditable à travers PHP, Javascript, et MySQL - tout cela en UTF8. Le "sujet de l'exercice" (PHP) que je m'étais proposé de réaliser était simple sur le papier: - page HTML et base de donnée MySQL en UTF8 - sur la page HTML, un texte (non éditable) avec un bouton "Editer" à côté - le bouton "Editer" déclenche un Javascript qui va remplacer le texte et le bouton "Editer" du dessus par un formulaire avec un champ texte éditable contenant la valeur et un bouton "Modifier" - le bouton "Modifier" va appeler un code Javascript qui, à travers XMLHttpRequest, va faire une requête PHP au serveur avec le nouveau contenu du champ. Ce script PHP va mettre à jour le champ correspondant dans la base de données, et renvoyer le code HTML original (texte non éditable et bouton "Editer"), destiné à son tour à remplacer le formulaire. Je vais mettre ci-dessous quelques tentatives de code pour gérer cela, mais vous allez de suite voir que "ça ne marche pas"... Toutes les pages sont "codées" en UTF8 (jusque là, j'ai bon!): Code :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Code :
Code :
Code :
Code :
Il se pose le problème du respect de l'encodage UTF8 entre les différentes fonctions et module, le problème de l'url-encodage/décodage lors de l'exécution du script set_edit_field.php (pour le caractère "&", par exemple), le problème du caractère <'> pour la base de données, etc... D'où ma question originale: quel est le moyen "académique" de gérer ces problèmes? Merci de votre attention, Daniel |
||||||||
|
|
00
|
|
|
#2 | ||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Hello Daniel
Personnellement je fais jamais d'ajax à la main (trop compliqué de se dépatouiller entre les différents navigateurs), j'utilise un framework. Voici ce que ça pourrait donner en jQuery: Code :
Code :
Jette un oeil du coté de jQuery, c'est vraiment LE framework javascript du moment: http://jquery.com/
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||||
|
01
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2005 Messages : 14 ![]() |
Merci, je vais aller jeter un œil du côté de jQuery.
Mais j'aime bien avoir une certaine connaissance de ce qui se passe - et débuter d'emblée mon apprentissage avec un framework peut me tenir écarté de certaines difficultés et connaissances "de base" dont celui-ci, même si cela me simplifie la vie, va me faire ignorer l'existence. Ce qui me laisserait totalement démuni si un jour "ça ne marche pas" pour telle ou telle raison. C'est pour cela que dans mon exemple, je n'ai pas abordé les différences entre différents navigateurs, mais que j'ai essayé de le cantonner à une problématique "de base" - les tribulations d'une chaine utf8 entre les différents composants, ou plutôt comment garantir son intégrité lors de son "voyage"! Et la réponse m'intéresse toujours, même si un framework peut m'affranchir de cette connaissance. Daniel |
|
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Ne va pas non plus te perdre dans les méandres d'Ajax juste pour un exercice. On dit bien "c'est en forgeant qu'on devient forgeron" mais on a jamais parlé d'aller chercher le minerai de fer soi même
Et si un jour ça ne marche pas, il y a les forums comme developpez.com avec des gens compétents dedans pour répondre à des questions pointues. Mais attention, même si un framework rends la programmation plus aisée (et surtout plus rapide) il est toujours bon de connaitre, au moins dans les grandes lignes, les mécanismes internes. Sinon c'est de la pure bêtise d'utiliser un framework.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#5 | |||||||||
|
Invité de passage
![]() Inscription : décembre 2005 Messages : 14 ![]() |
Citation:
J'ai finalement réussi à faire ce que je voulais faire, en parcourant les différents forums spécialisés par-ci par-là. Si jamais certains sont intéressés, voici la manière dont j'ai résolu mon "cas d'école". La page HTML "originale" est construite comme ceci: Dans le header: Code :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Code :
(XXXX est à remplacer par "& # 3 9 ;" sans les espaces dans le code ci-dessous, mais le forum met le caractère HTML correspondant et je ne sais pas comment désactiver ce remplacement) Code :
Code :
Code :
Daniel |
|||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com