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 :
http://www.tigercx.com/storage/upload/local.jpg
Le résultat externe :
http://www.tigercx.com/storage/upload/externe.jpg
Mon fichier PHP
Code:
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>";
?> |
Ç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:
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:
<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.