JeuWeb - Crée ton jeu par navigateur
[résolu pour le moment :P] Ajax, aide svp - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [résolu pour le moment :P] Ajax, aide svp (/showthread.php?tid=1953)

Pages : 1 2 3 4 5 6


RE: Ajax, aide svp - V1nc3 - 03-11-2007

Merci bien Wink Smile


RE: Ajax, aide svp - Plume - 03-11-2007

Hey ! Moi j'avais prévenu. J'touche pas ma bille ^^


RE: Ajax, aide svp - X-ZoD - 03-11-2007

toute la partie JS

notre fonction qui creer notre objet
Code PHP :
<?php 
var http; // Notre objet XMLHttpRequest

function createRequestObject()
{
var
http;
if(
window.XMLHttpRequest)
{
// Mozilla, Safari, ...
http = new XMLHttpRequest();
}
else if(
window.ActiveXObject)
{
// Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
}
return
http;
}


ta fonction bouger qui envoie les infos a ton php
Code PHP :
<?php 
function bouger(x, y)
{
http = createRequestObject();
http.open('post', 'requetes_ajax.php', true);
http.onreadystatechange = affichage_result;
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send('x='+x+'&y='+y);
}

la fonction qui recupere les infos renvoyées par le php
Code PHP :
<?php 
function affichage_result()
{
if(
http.readyState == 4)
{
if(
http.status == 200)
{
alert(http.responseText);
}
else
{
alert("<strong>N/A</strong>");
}
}
}


et maintenant ton fichier php
Code PHP :
<?php 
echo 'test';
faisons simple pour l'instant ^^

et ton code html qui fait l'apelle
Code PHP :
<?php 
<table><tr><td><a href="#" onclick ="bouger('-1','1')">test</a></td> </tr></table>


il y a plein de trucs bizards dans ton code -_-
si cette version te plait pas tu me dit pkoi mais c'est sur elle marche ...
poru plkus d'infos tu demande ... pour creer ton systeme de deplacement tu fais idem ... jte l'aurai bien coder moi meme mais ca te servirai a rien


RE: Ajax, aide svp - V1nc3 - 03-11-2007

Merci, je test ça de suite.
Dans la première partie, normal que tu déclare 2 fois http?

EDIT, on va dire qu'il y a du mieux, j'ai l'alert <strong>N/A</strong> qui s'affiche :S
EDIT 2 : quand on fait un appel de fonction sans paramètre on ne mets pas les () a la fin alors?


RE: Ajax, aide svp - X-ZoD - 03-11-2007

copie colle ton code tu a surment modifié des trucs


RE: Ajax, aide svp - V1nc3 - 03-11-2007

Code PHP :
<?php 
function createRequestObject()
{
var
http;
if(
window.XMLHttpRequest)
{
http = new XMLHttpRequest();
}
else if(
window.ActiveXObject)
{
http = new ActiveXObject("Microsoft.XMLHTTP");
}
return
http;
}

function
affichage_result()
{
if(
http.readyState == 4)
{
if(
http.status == 200)
{
alert(http.responseText);
}
else
{
alert("<strong>N/A</strong>");
}
}
}

function
bouger(x, y)
{
http = createRequestObject();
http.open('post', 'requetes_ajax.php', true);
http.onreadystatechange = affichage_result;
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send('data_x='+x+'&data_y='+y);
}


Code PHP :
<?php
if (isset ($_POST['data_x']) && isset ($_POST['data_y']))
{
//Sécurisation des variables
$data_x = sec_var($_POST['data_x']);
$data_y = sec_var($_POST['data_y']);

//Récupération d'infos sur le perso
$infos_perso = req_infos_perso($_SESSION['perso_actu']);
$id_perso = $infos_perso['id_perso'];
$coord_x = $infos_perso['coord_x'];
$coord_y = $infos_perso['coord_y'];

//On créé les coordonnées d'arrivée
$data_x = $coord_x + $data_x;
$data_y = $coord_y + $data_y;

if (!
test_case_persos($data_x, $data_y) && !test_case_villes($data_x, $data_y)) //On vérifie que la place est libre
mysql_query("UPDATE persos_cda SET coord_x ='$data_x' AND coord_y ='$data_y' WHERE id_perso ='$id_perso'");
}
echo
'test';
?>



RE: Ajax, aide svp - X-ZoD - 03-11-2007

verifie ke le nom de ta page php est bien le bon et rajoute la variable http ke tu a viré


RE: Ajax, aide svp - V1nc3 - 03-11-2007

Non, j'ai toujours <strong>... et pour le nom de la page j'ai copié collé, et elle est dans les deux dossier...


RE: Ajax, aide svp - X-ZoD - 03-11-2007

mais de quoi tu parle?
deux dossiers ?
<strong> ?


RE: Ajax, aide svp - V1nc3 - 03-11-2007

jouer.php (dossier pages):
Code :
<script type =\"text/javascript\" src =\"javascript/ajax.js\"></script>
<td><a class =\"n_o\" href =\"#\" onclick =\"javascript:bouger('-1','1')\">   </a></td>

et ajax.js (dossier javascript)

et j'ai mis requetes_ajax.php dans les 2 dossiers au cas ou pour pas qu'il y ai de probleme de chemin (jen enleverrai un quand tout fonctionnera voir le quel fonctionne).

Et quoique je fasse change, j'ai toujours cette partie la : alert("<strong>N/A</strong>"); qui séxécute.

Après moi un truc qui me semble bizarre (et qui nécessite une petite explication si possible) c'est ça :

Code :
function affichage_result()
{
}

Jusque la OK, mais c'est l'appel de la fonction qui me gêne : http.onreadystatechange = affichage_result;

Sont passées ou les ()?