[Résolu][Javascript] Sauvegarder en BDD la position d'un clic de souris - 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][Javascript] Sauvegarder en BDD la position d'un clic de souris (/showthread.php?tid=4017) |
[Résolu][Javascript] Sauvegarder en BDD la position d'un clic de souris - Quirinus - 29-05-2009 Bonjour à tous, Comme vous le savez peut-être j'ai entrepris de créer un jeu il y a quelques mois où le déplacement se fait par clic de souris. Problème : je bloque sur l'envoi en AJAX de la valeur X du clic. Et forcement je suis bloqué... Voici donc une partie de la page de map (ou s'effectue le clic, et donc le déplacement. Code PHP :
Et positiondansbdd.php, où (normalement) la requete de sauvegarde est enregistrée . : Code PHP :
Si une bonne âme pouvait m'éclairer, parce que là, je sèche complètement. :heuuu: RE: [AJAX] Sauvegarder en BDD la position d'un clic de souris - Argorate - 29-05-2009 Salut, J’ai quelque remarque pour toi: Tu dis que tu utilises le click pour le déplacement, je ne sais pas si tu as fait gaf mais tu utilise en faite double click "OnDblclick". Ensuite pour ta requête : Citation :$value=mysql_query("UPDATE jeu_joueur SET joueur_position=".$_POST["data"]."");Concaténer du vide à la fin ne sert à rien Sinon pour ton envoi de valeur, je ne vois pas où est le problème, pourquoi tu ne passe pas l'Ajax en GET et tu envois ta valeur par url? Où est le problème concrètement? RE: [AJAX] Sauvegarder en BDD la position d'un clic de souris - Ter Rowan - 29-05-2009 1) vérfier ce que tu envoies dans l'ajax ( un alert (data) ferait l affaire) 2) vérifier que l'ordre ajax est bien envoyer (firebug fait bien ça) 3) vérifier quel est le retour ajax (toujours avec firebug) 4) vérifier dans ton code php ce que contient $_POST (print_r($_POST) ) bon une fois qu'on a dit ça, je n'ai pas testé ton code mais à la lecture ... var data = "s1=" +x; xhr_object.send(data); $value=mysql_query("UPDATE jeu_joueur SET joueur_position=".$_POST["data"].""); essaie en mettant $_POST["s1"] mais tant qu'à faire... teste l'existance dans le code des variables post que tu veux utiliser (isset()) contrôle la qualité des variables retournées, là tu as une faille de sécurité voili voilo RE: [AJAX] Sauvegarder en BDD la position d'un clic de souris - Quirinus - 30-05-2009 Merci pour vos réponses rapides et précises. Tout d'abord quelques petites réponses : effectivement il s'agit d'un double-clic, et non d'un clic. Ensuite oui, le problème venait effectivement (en partie) d'une mauvaise passation de données, et comme je ébute en AJAX j'ignore doù elle venait. Du coup j'ai cherché des exemples d'ajax ailleurs et finalement j'ai dégoté un tuto mieux expliqué que celui que j'avais utilisé. Code final de la page de jeu : Code PHP :
Code PHP :
PS :Merci à Ter Rowan pour son conseil sécurité, faute d'inattention de ma part qui aurait pu coûter cher (la sécurisation du site n'est pas mon fort, je le crains...). RE: [RESOLU]->AJAX : Sauvegarder en BDD la position d'un clic de souris - Holy - 30-05-2009 Autant te dire que si ton fichier envoibdd.php ressemble à ce que tu nous as envoyé, t'es mal barré. Je ne sais pas comment se présenter ta position, mais tu dois la sécuriser pour éviter les injections SQL (mysql_real_escape_string) et vérifier que le format est correct. Si j'envoie du texte par exemple genre: "ahahah" en tant que $_POST['position'], ça va complètement buger ton jeu. |