Debugger en Ajax/PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Debugger en Ajax/PHP

Re: Debugger en Ajax/PHP

par xTG » 24 mars 2011, 09:07

Pour ma part je débute mon code sans json ou autre format.
Je passe par de simples echo, ainsi dans un premier temps il est facile de debugguer car tout ce qui s'affiche côté serveur est retransmis à l'Ajax.
Et quand tout est au point j'implémente la méthode de transfert, json, xml ou autre.

Re: Debugger en Ajax/PHP

par devlop78 » 23 mars 2011, 19:56

Tu fais un alert(), lol ...

De toutes façons, Il faut bien que PHP puisse dire à JavaScript qu'il y a eu une erreur et que la valeur qu'il retourne n'est pas correct. Des fois, retourner NULL ne sera pas bon. tu peux donc imaginer discuter avec JavaScript en JSON, en lui envoyant plusieurs choses : un code erreur/succès, éventuellement un message erreur/succès, et les données vraiment utiles. Derrière ça, tu crées une classe qui va extraire ces données, et par exemple emettre une exception s'il trouve une erreur, etc ... En plus, si jamais ta page emet une FATAL ERROR, tu vas te retrouver avec des données corrompus. Si tu utilises JSON, le Fatal ERROR va empêcher le parsage du JSON, et tu pourras le gérer. tu peux donc aussi tout simplement faire : Code bien executé = on envoit un JSON, code mal executé = on envoie autre chose. A priori, même une valeur de retour vide peut cacher une erreur. Il faudrait donc la traiter tel quel, et ne considérer qu'une valeur n'est bonne que si elle respecte un format particulier. Arprès, envoyer des messages simples à javascript, ne révélant aucun fichier, etc, pour effectuer une alert() dans le cadre d'un débogage, et désactiver le alert() en production. S'il y a une erreur, le méchant qui voudrait lire le message se trouvera en face d'un message dont il ne peut rien faire. On peut aussi détecter l'adresse IP en php, et envoyer un message d'erreur si en débogage, et ne rien envoyer en production (mais ce sera considéré quand même comme une erreur ... et alors JavaScript pourra dire au client "Nous sommes désolés, une erreur inconnue a eue lieu"). bref, tout est possible, tout est imaginable ;)

Re: Debugger en Ajax/PHP

par stealth35 » 23 mars 2011, 18:37

Firebug te suffit pas ?

Debugger en Ajax/PHP

par sacramento » 23 mars 2011, 18:35

Bonjour,

Une question que certains d'entre vous se sont probablement déjà posé.

Avant, c'était simple de debugger une page PHP : quelques echo ou print_r judicieusement placés et on pouvait suivre pas à pas les évolutions des variables.
Maintenant, on commence à faire des pages appelées via Ajax. C'est à dire que la page sur le serveur ne fait plus d'affichage directement.

Comment faites-vous ? La seule solution que j'ai trouvée c'est que plutôt que des echo ou des print_r à l'écran, je fais des fwrite dans un fichier texte. Et je vais ouvrir le fichier à chaque exécution. Mais c'est lourdingue. Et ça ne permet pas de voir certaines erreurs.

Merci de votre réponse