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
Ç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.
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émentaire</td> <td>#<br>Commande<br>associé</td> <td> </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>"; ?>
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 :
Et l'appel de la fonction AffInfo se fait comme ceci :
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); }
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.
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>
Merci de votre aide.
Partager