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 PHP et InnerHTML


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut Javascript PHP et InnerHTML
    Bonjour,

    Je développe actuellement une page qui lorsque je clique sur un titre d'une listbox, affiche un tableau.

    Pour ce faire j'utilise la fonction onChange.

    Cependant pour construire le tableau que je dois afficher je dois parser des fichiers binaires qui se trouve sur le serveur. J'ai crée des fonctions PHP pour faire cela cependant d'après certaines sources (trouvé sur Internet) cela n'est pas possible.

    après certaine recherche j'ai trouvé la fonction "innerhtml" et j'ai fais des tests et ca fonctionne.

    Code : 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
     
    <html><head><title>Test</title>
    <script type="text/javascript">
    <!--
    function modifier() {
    document.getElementById('monparagraphe').innerHTML = "<?php 
                                                                                    $fp=fopen('data.txt','r');
    $donnees = fgets($fp,255);
    fclose($fp);
    echo 'Le fichier contient : '.$donnees;
    echo"<table border='1'><tr><td>test</td><td>test1</td></tr><tr><td>test2</td><td>test3</td></tr></table>";
    ?>";
    }
    //-->
    </script>
    </head>
    <body>
    <p id="monparagraphe">Texte</p>
    <a href="javascript:modifier()">autre texte</a>
    </body>
    </html>
    Je voudrais donc savoir si il était possible à la place de l'ensemble des instructions php d'inclure un fichier qui contient la fonction PHP qui fournira le tableau.

    Ainsi que la raison pour laquel tout le monde dit que cela fonctionne pas alors que le code ci dessus marche très bien.


    Merci

  2. #2
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    document.getElementById('monparagraphe').innerHTML = "<?php require_once "tonfichier.php";?>

    Peut-etre

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    J'ai testé avec apostrophe et guillemets ca ne fonctionne pas!

    Merci

  4. #4
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    et si tu le mets en variable

    var mavariable = <? require_once 'tonficher.php"; ?>;
    document.getElementById('monparagraphe').innerHTML = mavariable;

    SUrment pas, je ne suis pas sur... je debute en javascript

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Merci de ton aide, il y avait juste une petit erreur, voici le code si quelqu'un le voudrait :

    Code : 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
     
    <html><head><title>Test</title>
    <script type="text/javascript">
    <!--
    function modifier() {
    var mavariable = "<?php require_once 'test.php'; ?>";
    document.getElementById('monparagraphe').innerHTML = mavariable;
    }
    //-->
    </script>
    </head>
    <body>
    <p id="monparagraphe">Texte</p>
    <a href="javascript:modifier()">autre texte</a>
    </body>
    </html>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    En fait je n'ai pas eu la réponse a ma deuxième question :

    Comment se fait il que le code fonctionne vu que le serveur devrait être exécuté uniquement au chargement de la page !

    Merci

  7. #7
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    euh je dirai avec du ajax. un peu comme
    index.html
    Code : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
      <head>
        <title>Sommaire en PHP !</title>
      <style type="text/css">
      #sommaire
      {
      position:absolute;
      background-color:cyan;
      left:10px;
      width:100px;
      }
     
      #page
      {
      position:absolute;
      background-color:#AAAAAA;
      left : 200px;
      width:500px;
      height:500px;
      }
      </style>
     
    <script type='text/JavaScript'>
    var xhr = null; 
    function getXhr()
    {
         if(window.XMLHttpRequest)xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject)
      { 
      try{
         xhr = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) 
         {
         xhr = new ActiveXObject("Microsoft.XMLHTTP");
         }
      }
    else 
      {
      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
      xhr = false; 
      } 
    }
     
    function ShowPage(page)
    {
    getXhr();
    xhr.onreadystatechange = function()
        {
         if(xhr.readyState == 4 && xhr.status == 200)
         {
         document.getElementById('page').innerHTML=xhr.responseText;
         }
        }
    xhr.open("GET","ajax.php?page="+page,true);
    xhr.send(null);
    }
     
    </script>
     
    </head>
     
    <body onLoad="ShowPage(1)">
     
        <div id="sommaire">
            <h3>Sommaire</h3>
            <a href="#" onClick="ShowPage(1)">Page 1</a><br/>
            <a href="#" onClick="ShowPage(2)">Page 2</a><br/>
            <a href="#" onClick="ShowPage(3)">Page 3</a><br/>
            <a href="#" onClick="ShowPage(4)">Page 4</a><br/>
        </div>
     
        <div id="page">
        </div>
     
      </body>
    </html>
    ajax.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $page=$_GET['page'];
         if($page==1)require 'page1.html';
    else if($page==2)require 'page2.html';
    else if($page==3)require 'page3.html';
    else require 'page4.html';
     
    ?>
    en bidouillant un peu tu peux arriver a quelque chose

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Fait un clic droit "afficher la source" sur ta page et tu verras
    Le PHP est exécuté au chargement de ta page ce qui te génère un beau fichier plein de javascript et HTML mais le PHP a disparu car il a été traité.

    Rien a voir avec de l'ajax donc...

  9. #9
    Membre régulier Avatar de HWICE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 249
    Points : 104
    Points
    104
    Par défaut
    que veux tu dire....
    x'est du ajax... dans le div page on ne vois pas le code... meme si page.html est deja loader

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Ce que je veux dire c'est que dans le code de johnson95, il n'y a pas d'ajax.

    Ajax = asynchrone, javascript et xml... le tout se basant sur un httprequest... on n'a pas d'asynchrone, pas de httprequest. Le xml on l'oubli car actuellement quand on parle d'Ajax c'est synonyme de httprequest car on a presque jamais de Xml.

    Si je reprends son code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <html><head><title>Test</title>
    <script type="text/javascript">
    <!--
    function modifier() {
    var mavariable = "<?php require_once 'test.php'; ?>";
    document.getElementById('monparagraphe').innerHTML = mavariable;
    }
    //-->
    </script>
    </head>
    <body>
    <p id="monparagraphe">Texte</p>
    <a href="javascript:modifier()">autre texte</a>
    </body>
    </html>
    En faisant "afficher la source" j'aurai :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <html><head><title>Test</title>
    <script type="text/javascript">
    <!--
    function modifier() {
    var mavariable = "contenuduficher test.php sous forme de String";
    document.getElementById('monparagraphe').innerHTML = mavariable;
    }
    //-->
    </script>
    </head>
    <body>
    <p id="monparagraphe">Texte</p>
    <a href="javascript:modifier()">autre texte</a>
    </body>
    </html>

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 29/04/2008, 21h53
  2. [javascript] utilisation de innerHTML
    Par TERRIBLE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2005, 09h26
  3. [PHP-JS] passage de variable de javascript à php
    Par msieurx dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2005, 20h42
  4. cryptage assymetrique de mot de passe(javascript/PHP)
    Par chess132 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 25/10/2005, 13h04
  5. [Javascript / PHP] Tooltip sur une ligne php
    Par tchoukapi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/10/2005, 17h12

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