Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inclure page PHP en js

    20 juillet 2017 à 0:42:11

    Bonjour,

    J'ai actuellement plusieurs projets en tête, je me débrouille en Php et en Html.

    Mais dans l'un de mes projets j'ai besoin d'une chose:

    Comment faire pour inclure une page PHP en JS ? Comme l'include du PHP.

    Par exemple :

    J'ai page.php qui renvoie le mot "Bonjour", donc un echo. Je souhaiterais pouvoir inclure page.php grâce à JS. Ce qui me permettrait d'inclure une page PHP d'un autre site sur une page HTML.

    Je ne souhaite pas apprendre tout un langage pour si peu, donc pouvez vous m'aider ?

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      20 juillet 2017 à 2:27:45

      Salut,

      Tu ne peux pas. Ce serait une énorme faille de sécurité.

      • Partager sur Facebook
      • Partager sur Twitter

      Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

        20 juillet 2017 à 4:24:12

        Antoine Dfr a écrit:

        Je ne souhaite pas apprendre tout un langage pour si peu, donc pouvez vous m'aider ?


        Espece de feneante !
        Quand on fait du web : HTML, CSS et Javascript sont une obligation tu n'y echapperas JAMAIS* donc met toi au boulot.

        *sauf si tu es full integrateur web ... a ce moment la dans de rare cas tu ne ferras pas de javascript.


        Bref, je pense que ce que tu cherches a faire c'est de l'AJAX ... donc avec 0 base en Javascript c'est un peu complique.
        Pour que ca fonctionne, il faut que :

        - soit les deux scripts se trouvent sur le meme serveur
        - soit avoir acces au 2 serveurs afin que le serveur qui recoit la demande ne la bloque pas (en ajoutant par exemple un truc du genre: Header add Access-Control-Allow-Origin "*" )

        Bon courage 

        -
        Edité par Scion 20 juillet 2017 à 5:03:32

        • Partager sur Facebook
        • Partager sur Twitter
          20 juillet 2017 à 11:23:03

          Scion a écrit:

          Antoine Dfr a écrit:

          Je ne souhaite pas apprendre tout un langage pour si peu, donc pouvez vous m'aider ?


          Espece de feneante !
          Quand on fait du web : HTML, CSS et Javascript sont une obligation tu n'y echapperas JAMAIS* donc met toi au boulot.

          *sauf si tu es full integrateur web ... a ce moment la dans de rare cas tu ne ferras pas de javascript.


          Bref, je pense que ce que tu cherches a faire c'est de l'AJAX ... donc avec 0 base en Javascript c'est un peu complique.
          Pour que ca fonctionne, il faut que :

          - soit les deux scripts se trouvent sur le meme serveur
          - soit avoir acces au 2 serveurs afin que le serveur qui recoit la demande ne la bloque pas (en ajoutant par exemple un truc du genre: Header add Access-Control-Allow-Origin "*" )

          Bon courage 

          -
          Edité par Scion il y a environ 5 heures

          rhooManu a écrit:

          Salut,

          Tu ne peux pas. Ce serait une énorme faille de sécurité.



          Alors commet font les régies publicitaires ?

          Par exemple, dans un ancien site j'avais eu ce script pour d'une régie:

          <script type="text/javascript"><!--
          document.write('<s'+'cript type="text/javascript" src="'+(location.protocol=='https:'?'https:':'http:')+'//www.adsplex.com/preshow.php?z=24&pl=12875"></s'+'cript>'); 
           --></script>

          Si j'ai bien compris, une page php est implémenté ? Donc comment faire plus simplement ?

          Mon objectif est juste de pouvoir faire comme un include mais en html. J'ai déjà tester la balise iframe et object, mais elle ne se comportent pas comme je veux.

          Et pour revenir sur les régies, la plus part du temps elle nous donner un script js, alors comment cela fonctionne pour afficher quelque chose à partir de ça si ce n'est pas possible ?

          Merci

          • Partager sur Facebook
          • Partager sur Twitter
            20 juillet 2017 à 13:15:37

            Ton exemple ne fait pas un include, il appelle un script présent sur une autre page (qui est générée par du php) : http://www.adsplex.com/preshow.php?z=24&pl=12875 

            C'est très différent d'un include. C'est le principe d'une API : faire une requête à un serveur, qui renvoie un résultat donné. C'est comme ça que fonctionne les scripts de régie publicitaire, ou bien les intégrations de Facebook, de Twitter, etc. En aucun cas ils ne font un include : ils récupèrent juste un contenu.

            Si ton site ne te permets pas d'envoyer des fichiers php, tu peux essayer d'utiliser les SSI Apache : https://httpd.apache.org/docs/current/howto/ssi.html ; ou bien te tourner vers des langages de templating (Pug, Handlebars…) qui te demanderont d'utiliser des outils en ligne de commande… Et potentiellement d'utiliser du Javascript.

            • Partager sur Facebook
            • Partager sur Twitter

            Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

              20 juillet 2017 à 14:42:40

              rhooManu a écrit:

              Ton exemple ne fait pas un include, il appelle un script présent sur une autre page (qui est générée par du php) : http://www.adsplex.com/preshow.php?z=24&pl=12875 

              C'est très différent d'un include. C'est le principe d'une API : faire une requête à un serveur, qui renvoie un résultat donné. C'est comme ça que fonctionne les scripts de régie publicitaire, ou bien les intégrations de Facebook, de Twitter, etc. En aucun cas ils ne font un include : ils récupèrent juste un contenu.

              Si ton site ne te permets pas d'envoyer des fichiers php, tu peux essayer d'utiliser les SSI Apache : https://httpd.apache.org/docs/current/howto/ssi.html ; ou bien te tourner vers des langages de templating (Pug, Handlebars…) qui te demanderont d'utiliser des outils en ligne de commande… Et potentiellement d'utiliser du Javascript.

              Donc pour se que je veux faire, on peux dire que je suis mal barré ^^

              J'ai lu ton article sur SSI, je n'ai pas compris grand-chose, c'est nettement plus compliqué que ce que je m'attendais.


              Donc si j'ai bien compris, il faut que je fasse un script Php qui génère un script js ? Il n'y a pas d'autre solution ? Ce que je souhaite faire c'est juste générer un petit bout de texte en Php et le faire afficher dans une page html, comme include d'une page Php mais en HTML SAUF qu'il faut que ce soit exécutable sur un serveur autre que celui il y a la page Php.


              Tu me suis  ? :-°


              Merci pour ton aide

              • Partager sur Facebook
              • Partager sur Twitter
                21 juillet 2017 à 1:47:52

                rhooManu a écrit:

                Ce que je souhaite faire c'est juste générer un petit bout de texte en Php et le faire afficher dans une page html, comme include d'une page Php mais en HTML ...

                Je t'ai dis que ce que tu cherches a faire c'est l'AJAX. 
                Tu es borne toi :lol:

                rhooManu a écrit:

                ...SAUF qu'il faut que ce soit exécutable sur un serveur autre que celui où il y a la page Php.

                et ensuite tu fais un eval() en javascript.

                Explication :

                1) Sur le site A, tu fais une requete AJAX sur le site B

                2) Le site B va generer un script que tu auras ecris en PHP

                3) Le site A recupere la reponse du site B, et fais un eval() dessus

                *eval permet d'executer du script donc ATTENTION a ce que tu fais. Il faut que le code generer par le site B soit de toi. Sinon c'est une magnifique faille de securite !

                Perso je te deconseille de faire un eval() sauf si vraiment tu es obliges !

                -
                Edité par Scion 21 juillet 2017 à 1:52:56

                • Partager sur Facebook
                • Partager sur Twitter
                  21 juillet 2017 à 7:53:50

                  Oulala...

                  Si tu veux inclure du contenu provenant d'un autre serveur, utilise simplement un iframe ou un object. Pas de Javascript nécessaire.

                  Les histoires de script en AJAX c'est super tordu. Et puis le commentaire sur la sécurité ne tient pas du tout. Si au lieu de faire de l'ajax tu utilisais la balise script, ça chargerait tout aussi bien un Javascript écrit depuis un autre serveur et c'est pas moins dangereux que eval. Quand tu inclus un script d'une régie publicitaire, de google maps ou autre, tu fais prendre à tes utilisateurs le même genre de risques (parce que toi - ton serveur - tu crains rien)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 juillet 2017 à 11:47:08

                    @Scion tu t'es gourré d'auteur dans tes citations :D Sinon, tu l'as dit toi-même : l'Ajax requiert que les deux serveurs autorisent les requêtes extérieures. Faut voir si l'auteur le peut.

                    tabouretBleu a écrit:

                    Si tu veux inclure du contenu provenant d'un autre serveur, utilise simplement un iframe ou un object. Pas de Javascript nécessaire.

                    Oui, mais ça dépend totalement de ce qu'on veut faire avec. Et les iframes sont également soumises au same-origin Policy ; si l'iframe vient d'un autre domaine notamment, il ne peut pas accéder au contexte global, ni même aux propriétés de la fenêtre parente (justement parce que ça permettrait à n'importe qui de faire un script fallacieux qui récupère des informations sur le site/serveur qui inclus l'iframe, et de récupérer par exemple les éléments entrés dans un champ de connexion).

                    À l'auteur de savoir, donc.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                      21 juillet 2017 à 15:32:06

                      Ici on parle juste d'écrire un texte. C'est basique. Et visiblement Antoine a accès aux deux serveurs.

                      Perso je ferais du cURL parce que ça clarifie la provenance des requêtes - tu peux même restreindre l'accès à la ressource à la seule IP du serveur qui récupère la donnée si tu veux - mais de l'AJAX cross domain à printer dans le document, pourquoi pas. Juste, pas d'histoire d'écrire un script Javascript en PHP parsé avec eval en AJAX un soir de pleine lune au milieu douze statuettes enroulées dans du jambon...

                      -
                      Edité par tabouretBleu 21 juillet 2017 à 15:33:08

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 juillet 2017 à 17:01:05

                        Sauf si l'objectif est d'ouvrir la porte de Zaral'Bak.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                          21 juillet 2017 à 18:12:25

                          Bof, j'ai pas l'impression qu'ils y fassent une grande consommation de produits ménagers. Il faudrait créer une publicité très efficace. Chantée bien-sûr.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Inclure page PHP en js

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown