IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Affichage du code PHP suite à un appel Ajax [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut Affichage du code PHP suite à un appel Ajax
    Bonsoir,

    Je m'explique.
    J'appelle une template.html qui contient, en autre, la navigation du site depuis un fichier php via Ajax (qui se charge d'écrire dans une div le contenu du fichier template.html).
    Jusque là tout va bien.

    Pour tester le contenu HTML, je lance la template.html directement et je clique sur n'importe quel lien et là, oh miracle, oh damnation, le code PHP appelé par Ajax est affiché dans la DIV.

    Une petit illustration sur l'image ci-dessous après avoir appuyé sur "Rechercher" :



    Comment éviter ce genre de désagrément ?

    Merci.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il faudrait le code du template.html pour etre sur.

    2 pistes tout de meme :
    - un possible oubli de balise <?php quelque part
    - ton fichier est en .html, selon ton environnement il ne sera pas interprete par php et donc rendu par ton serveur web comme un fichier statique.

  3. #3
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Hello,

    le fichier template.html ne contient que du html.

    En fait, il s'agit d'un fichier .tpl (j'ai changé l'extension en html pour tester l'affichage, juste pour un test, pas en production).

    Donc pour répondre aux questions ci-dessus, il n y a pas d'oubli de balise <?php
    Qui plus est, ce n'est pas le contenu du template qui est affiché mais le code PHP qui appelle le template.

    Concernant, le côté statique, je suis d'accord, il n'est pas interprété donc, je me doute que c'est à cause de
    cela qu'Ajax affiche le contenu du fichier PHP.

    En fait, je pense qu'il s'agit d'un comportement normal lorsque le code php n'est pas exécuté
    dans un environnement adéquat.

    Je vais donc mettre en résolu. A moins que !!!!!
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  4. #4
    Invité
    Invité(e)
    Par défaut
    En general les configurations des serveurs web par defaut ou simples (pour apache et ngnix du moins) sont faites de sorte que php ne soit appele que si l'extension du fichier est en .php.

    Du coup si ton ajax appelle un fichier autre que .php il ne sera probablement pas interprete. En revanche si tu appelles bien un fichier .php qui lui est sense appeler un fichier .html et le servir, ce n'est pas normal.

  5. #5
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Hello,

    Pour répondre à MrSky.
    Le fonctionnement de mon appli est simple.
    un index.php qui appelle une template .tpl (html inside uniquement) qui charge les librairies Jquery, Bootstrap et tout le tralala tout ça bien évidemment à travers un serveur web.

    En test, j'ai renommé le .tpl en .html et je l'ai lancé directement dans le navigateur donc sans passer par le serveur web (pas d'interprétation du php).
    Je clique sur un lien dans le html qui fait appel à Ajax qui lui même appelle un php. Comme tout ça se fait hors serveur, pas d'interprétation du php et du coup Ajax renvoit et affiche le code php.

    Donc voilà, je pense qu'il s'agit d'un fonctionnement normal puisque le php n'est pas interprété. Maintenant, c'est dommage, car si quelqu'un fait ça sur le serveur et bien, il verra le code PHP.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je crois qu'il y a une ambiguité sur ce qu'est un "appel Ajax".
    Pour nous c'est une requête GET ou POST sur le serveur, donc le fichier PHP est forcement interpreté.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je crois qu'il y a une ambiguité sur ce qu'est un "appel Ajax".
    Pour nous c'est une requête GET ou POST sur le serveur, donc le fichier PHP est forcement interpreté.
    Hello,
    oui, en production c'est le cas, en l’occurrence, c'est du POST.

    En gros, ouvrez un fichier .php de votre PC directement avec Firefox sans passer par un serveur, le code sera affiché.
    C'est aussi, du coup, ce que fait Ajax si le fichier php n'est pas interprété.

    Bonne journée.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Oui et ou est le problème ?
    Ton site n'est pas fait pour fonctionner en dehors d'un serveur web.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Hello,
    oui, en fait, y a pas de problèmes, c'est pour ça que j'ai mis en résolu.
    Au bout de 15 ans de PHP, j'avais jamais vu ça donc du coup, j'ai été surpris.

    On en apprend tous les jours.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Nom pour un form suite à un appel ajax
    Par lounou dans le forum jQuery
    Réponses: 1
    Dernier message: 10/05/2014, 19h22
  2. [PHP 5.3] Affichage du code php dans la page
    Par Alex-L dans le forum Langage
    Réponses: 6
    Dernier message: 28/07/2011, 15h56
  3. [EasyPHP] Site en local : affichage du code PHP :(
    Par ricou69 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 12/10/2010, 22h38
  4. fonction d'affichage de code php en couleur
    Par winnie82 dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2006, 11h14
  5. [MySQL] Comment appeler du code PHP par requête
    Par mickdu90 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 19/04/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo