03-08-2008, 02:58 PM
Le truc c'est que ce langage me prends vraiment la tête, donc pour ta deuxième solution Sephi-Chan on verra plus tard, j'ai pas le courage, pour le moment je souhaite juste faire marcher celle ci..
Des pistes pour trouver l'erreur? Je vous montre le script tant qu'à faire :
Des pistes pour trouver l'erreur? Je vous montre le script tant qu'à faire :
Code PHP :
<?php
<script language="javascript">
var xhr = null;
// CREE UN ELEMENT XMLHttpRequest
function get_Xhr()
{
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if(window.ActiveXOject)
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(el)
{
xhr = null;
}
}
}
else
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest\nVeuillez le mettre à jour");
}
return xhr;
}
// Charge un fichier dans un div
function LoadDiv(div,file){
get_Xhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
document.getElementById(div).innerHTML = xhr.responseText;
}
}
xhr.open("POST",file,true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("type="+div);
}
// Deplacement d'un perso. sur la carte
function move(x,y,map)
{
// Creation de l'objet XMLHttpRequest
get_Xhr();
xhr.onreadystatechange = function()
{
// Reponse du script
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
{
LoadDiv("map","test.php");
document.getElementById('error').innerHTML = xhr.responseText;
document.getElementById('menu').innerHTML = '<'+'? include("menu_joueur.php");?'+'>';
}
}
// Nous allons interroger deplacement.php pour effectuer le deplacement
xhr.open("POST",'deplacement.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("posx="+x+"&posy="+y+"&map="+map);
}
</script>
Donc la fonction loaddiv servant à refresh l'affichage de la map, et la fonction move servant au déplacement et au rafraichissement de la div map, error et du menu..
Pour ce qui est de l'include, ça m'embête un peu de devoir refaire une fonction juste pour ça, mais je vais y consacrer quelques cheveux, et i vous avez une solution plus simple...