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

JavaScript Discussion :

JavaScript et PHP


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 33
    Par défaut JavaScript et PHP
    Bonjour,

    Petite question toute bête : en PHP je fais appel à une fonction écrite en javascript, si cette fonction est située dans le fichier PHP tout marche à merveille, si elle est situé dans un fichier js externe et que je l'appelle depuis PHP ça ne marche pas !!
    Quid ? est ce que je fais une bétise ?
    Il est vrai que les voies de l'informatique sont parfois impénétrables, mais grâce à l'un d'entre vous nous les pénétrerons;

    Voici mon code :

    Le fichier essai.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <html>
    <head>
    <title>Essai</title>
    	<script type="text/javascript" src="essai.js"></script>
    <!-- si je place cette fonction dans le fichier externe "essai.js"
         son appel par l'instruction :
    	<script type="text/javascript" src="essai.js"></script>
    	ne fonctionne pas !! -->
    <!--<script type="text/javascript">
     
    function nouveauContenu()
    {
    alert("Voyons !");
    document.open();
    document.write("<h1>Bravo !</h1>");
    document.close();
    }
     
    </script>-->
    </head>
     
    <body>
    <button onclick="nouveauContenu()">Cliquez</button>
    <p>Est-ce que ça marche ?.</p>
    </body>
    </html>

    le fichier essai.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function nouveauContenu()
    {
    alert("Mon essai est-il concluant ?");
    document.open();
    document.write("<h1>C'est ça!</h1>");
    document.close();
    }
    Merci beaucoup et bonne journée

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    que dit la console ?
    le fichier est-il chargé ?

    vu comme ça je dirais que le chemin n'est pas bon
    dans ta console il dois y avoir un 404 pour le fichier essai.js
    et ensuite un undefied lorsque tu clique sur la fonction

    ouvre ton navigateur et tape l'Url qui mène à ton fichier essai.js
    tant que le navigateur n'affiche pas le contenu du fichier c'est que ton Url est fausse.


    pour finir va sur la page des tutos JS et lis pareil pour la FAQ

    document.open document.write sont à bannir
    même si tu trouve ce genre de choses dans les vieux exemples sur le net
    fuis ça comme la peste.

    pour te donner un ordre d'idée de la chose lorsque chez moi on nous livre un code js la première chose qu'on fait c'est une recherche de document.write s'il n'y en a un on refuse la livraison sans même avoir regardé le reste.

    A+JYT

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 33
    Par défaut PHP et JavaScript
    Bonjour sekaijin,

    D'abord un grand merci d'avoir consacré un peu de temps (surtout un dimanche) pour étudier mon problème.

    Avant d'aborder le fond du problème je précise (chose que j'aurai du faire tout de suite) que je travaille en serveur local (localhost) wampserver, je ne sais pas si cela a une importance. En effet je n'arrive pas à accéder à la console !
    Mon fichier essai.js est bien chargé et quand je tape l'URL de mon fichier en passant par le navigateur, non seulement j'y accède mais de plus il s'ouvre bien. Par sécurité supplémentaire dans la ligne d'appel de mon fichier essai.js, qui se trouve à la racine du serveur local,comme le fichier essai.PHP, j'ai précisé que j'étais en serveur local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://localhost/essai.js"></script>
    rien n'y fait.
    Petite précision supplémentaire : mon projet fonctionne de façon épisodique (une fois sur dix) sans que j'y fasse de grosses modifications si ce n'est que sauvegarder mon fichier essai.PHP en fichier essai.html. Après cette modif ça fonctionne une ou deux fois maximum et ensuite ça se plante de nouveau.
    Je disais bien que les voies de la programmation sont impénétrables ... (lol)

    Enfin, dans la journée je vais suivre ton conseil et consulter les tutos JS et la FAQ.

    Quant à tes remarques sur document.open et document.write, je souhaiterais y revenir plus tard car je désirerais approfondir la question et connaître le pourquoi de la chose.

    Encore merci et bonne journée.

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    pour acceder à la console sous FF ou chrome appyer sur la touche F12

    Comme je le dis dans mon poste précédent supprime le document.open document.write et document.close

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function nouveauContenu()
    {
      alert("Mon essai est-il concluant ?");
      var aElement = document.createElement('H1');// créer l'élément H1
      aElement .innerHTML="C'est ça!";//mettre un contenu dans H1
      document.body.appendChild(aElement );// attacher le H1 dans la page.
    }
    A+JYT

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 33
    Par défaut php et javascript
    je reviens vers toi après avoir pris connaissance de ton dernier commentaire et surtout après avoir regardé dans la console ce qu'il se passe ..
    Quand je suis en intranet local la touche F12 ne fonctionne pas ???
    J'ai donc consulté la console en passant directement par la page concernée et appelée directement par Google Chrome !
    Bref j'ai pu voir ce qu'il se passe

    Tu avais raison, à l'appel de la fonction par le bouton "click", on me dit :
    "Uncaught Reference Error : nouveaucontenu is not defined"

    Or le fichier "essai.js" est dans :
    "C:\wamp\www\Mon site\essai.js"

    dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="C:/wamp/www/Mon site/essai.js"></script>
    j'ai tout essayé comme chemin .... j'en perd mon latin.

    Je vais continuer à chercher et te recontacterai, toutefois si tu as une idée .........

    Encore merci

    P.S. en ce qui concerne les document.open, write, close, je verrai après. J'ai fait un essai avec ta suggestion, cela n'a rien fait, la fonction n'étant pas trouvée

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Il est possible que F12 ne marche pas sous Firefox si le raccourci est capturé par quelque chose. La console native de ce navigateur peut aussi s'ouvrir avec Ctrl+Maj+K.

    J'ai l'impression que tu as un problème de chemins de fichier. Je t'encourage à voir ou revoir les notions de chemin absolu et chemin relatif.

    Le chemin C:/... ne marchera pas si la page est accédée via localhost. D'abord, parce qu'il faudrait que tu mettes le préfixe file: pour indiquer que tu utilises un chemin local. Ensuite, parce que, en fait, toutes les url commençant par file: sont inaccessibles depuis une page dont l'url est en http:, pour des raisons de sécurité.

    Si ça peut éclaircir ta compréhension des choses, le navigateur (que ce soit Chrome, Firefox ou autre) a principalement deux modes de fonctionnement : local (url commençant par file:), ou distant (url commençant par http:). En mode local, il se comporte comme un explorateur de fichiers. En mode distant, il fait des requêtes HTTP à un serveur.

    Là où les choses deviennent (un peu) confuses, c'est quand tu as un serveur local, ton WAMP en l'occurence. Le navigateur voit un serveur et n'a aucune idée que ce serveur se trouve en réalité sur la même machine. Il y accède en mode distant.

    Le serveur local fait un « miroir » des chemins des fichiers se trouvant sur le disque, à partir d'un dossier qui s'appelle la racine de documents (DocumentRoot). Vérifie-le dans ton fichier httpd.conf (clic gauche sur l'icône WAMP dans la barre système > menu « Apache » > « httpd.conf »). L'adresse http://localhost/ pointe toujours vers le DocumentRoot. Par exemple, si ton DocumentRoot est C:/wamp/www/ mais ton site se trouve dans C:/wamp/www/Mon site/, il faudra que tu tapes l'adresse http://localhost/Mon site/ pour réellement accéder à ton site. Et donc, ton fichier JavaScript se trouve à l'adresse http://localhost/Mon site/essai.js.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. [PHP-JS] Javascript ou PHP
    Par lynchmaniac dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2005, 10h10
  2. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  3. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  4. [PHP-JS] convertir un bout javascript en php ?
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/08/2005, 23h42
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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