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 :

AJAX - Affiche le code au lieu du résultat


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Chef opération transport urbain
    Inscrit en
    Avril 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Chef opération transport urbain
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 92
    Points : 112
    Points
    112
    Par défaut AJAX - Affiche le code au lieu du résultat
    Bon voilà, j'ai un petit problème avec mes débuts en AJAX.

    Je roule sur EasyPHP en local et tout fonctionne très bien mais si j'envoie mes fichiers chez mon hébergeur, au lieu d'afficher le résultat, on m'affiche un bout de code.

    Le résultat local :



    Le résultat externe :



    Mon fichier PHP

    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
    <?php
     
    include "admin_shared.inc";
     
    $connexion = opendb();
     
    $result = mysql_query("select * from soumissions order by id asc");
     
    echo "<table><thead align='center'><tr><td>#<br>Soumission</td>
                     <td>#<br>Client</td>
                     <td>#<br>Produit</td>
                     <td>Domaine</td>
                     <td>Info</td>
                     <td>Montant<br>suppl&eacute;mentaire</td>
                     <td>#<br>Commande<br>associ&eacute;</td>
                     <td>&nbsp;</td>
                     </tr></thead>";
     
    $nb_soum = 0;
    while($soumission = mysql_fetch_array($result,MYSQL_NUM)){
        $nb_soum ++;
        if($nb_soum%2 == 0) echo "<tr bgcolor='#FFFFFF'>";
        else echo "<tr bgcolor='#D0D0D0'>";
        foreach($soumission as $cle => $info){
            if($info == NULL) $info = "NULL";
            echo "<td>$info</td>";
        }
        if(!$soumission[6]) echo "<td><input type='button' name='mod' id='mod' value='Modifier' onClick=\"javascript:AffInfo('soummod.inc?nocache=' + Math.random() + '&id={$soumission[0]}','show_mod','false')\"></td></tr>";
        else echo "<td></td></tr>";
        
    }
     
    echo "</table>";
     
    ?>
    Ça semble accroché sur le => de mon foreach. Alors j'ai testé sans un foreach en plaçant mes données manuellement et ça bloc un peu plus loin. Je ne comprends pas que ça fonctionne bien chez moi et pas chez mon hébergeur.

    Version PHP chez moi c'est 5.2.0 et chez mon hébergeur c'est 5.2.6

    C'est peut-être un problème de PHP mais comme j'ai déjà programmé des choses beaucoup plus complexe, c'est surement un problème relié à mon utilisation d'AJAX.

    Voici mon bout de code Javascript :

    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
        function AffInfo(showpage,divid,data){
            if(divid == "show_info"){
                document.getElementById("show_mod").innerHTML = "";
            }
            if(data != "false"){
                var id_soum = document.update_soum.id.value;
                var id_produit = document.update_soum.produit.value;
                var domaine = document.update_soum.domaine.value;
                var info = document.update_soum.info.value;
                var montant = document.update_soum.montant_sup.value;
                var commande = document.update_soum.commande.checked;
                var id_client = document.update_soum.client.value;
                showpage = showpage + '&id_soum=' + id_soum + '&id_produit=' + id_produit + '&domaine=' + domaine + '&info=' + info + '&montant=' + montant + '&commande=' + commande + '&id_client=' + id_client;
            }
            document.getElementById(divid).innerHTML = file(showpage);
        }
     
        function file(fichier)
         {
         if(window.XMLHttpRequest) // FIREFOX
              xhr_object = new XMLHttpRequest(); 
         else if(window.ActiveXObject) // IE
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
         else 
              return(false); 
         xhr_object.open("GET", fichier, false); 
         xhr_object.send(null); 
         if(xhr_object.readyState == 4) return(xhr_object.responseText);
         else return(false);
         }
    Et l'appel de la fonction AffInfo se fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:AffInfo('soumissions.inc?nocache=' + Math.random(),'show_info','false');">Consulter les soumissions</a>
    J'ai essayé d'être le plus clair possible. Je sais que le code n'est pas optimisé et que ça laisse à désirer, mais ce n'est que pour tester et pour comprendre le fonctionnement.

    Merci de votre aide.

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    -> code non interprété, voir forum php!
    (vérifie tes includes)

  3. #3
    Membre régulier
    Homme Profil pro
    Chef opération transport urbain
    Inscrit en
    Avril 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Chef opération transport urbain
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 92
    Points : 112
    Points
    112
    Par défaut
    On a répondu du côté PHP.

    Mon erreur était que l'extension des fichiers contenant du PHP était .inc et le serveur apache ne décodait pas bien son contenu.

    Morale de cette histoire : laissez l'extension .php pour des fichiers PHP!

    Merci!

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par TigerCX Voir le message
    Morale de cette histoire : laissez l'extension .php pour des fichiers PHP!
    quel intérêt de vouloir modifier l'extension ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    C'est comme demander à un éléphant de se reproduire avec un moustique !

    Faut beaucoup de sparadrap !

  6. #6
    Membre régulier
    Homme Profil pro
    Chef opération transport urbain
    Inscrit en
    Avril 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Chef opération transport urbain
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 92
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par bigboomshakala Voir le message
    quel intérêt de vouloir modifier l'extension ?
    Pour regrouper les fichiers qui sont appelé en passant par AJAX et ceux qui sont appelé par le navigateur. J'ai toujours procédé de la même façon avec mes fichiers include en PHP en leur donnant une extension INC pour les différencier. Seulement, un fichier php qui contient un include (.inc) c'est ok (pour ça que je n'ai jamais eu de problème jusqu'à maintenant), mais si j'appele un .inc par ajax, le serveur interprète mal le fichier.

    On apprend tous les jours

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

Discussions similaires

  1. Macro pour afficher le code source et son résultat
    Par Third Joker dans le forum Programmation (La)TeX avancée
    Réponses: 37
    Dernier message: 28/08/2013, 11h34
  2. wampserver affiche le code PHP au lieu de la page
    Par floriake dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2013, 19h10
  3. exécuter du html au lieu d'afficher le code
    Par laurentSc dans le forum Langage
    Réponses: 12
    Dernier message: 18/11/2009, 12h35
  4. [Wamp] Bug ajax affiche le code source
    Par gnafron dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/11/2008, 16h17
  5. Affiche un bout de code au lieu du résultat
    Par TigerCX dans le forum Langage
    Réponses: 3
    Dernier message: 14/10/2008, 01h20

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