JeuWeb - Crée ton jeu par navigateur
Requete update avec ajax ! - 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 : Requete update avec ajax ! (/showthread.php?tid=1921)



Requete update avec ajax ! - opoz - 24-10-2007

Slt, je reformule ma demande d'aide ! ^^

Voila se que j'esaye de faire :

Je cherche à faire une update de la BDD avec ajax ! posible ?

le lien :

Code :
onclick="request(\'map/update_bdd_map.php?1=1&X='.$x.'&Y='.$y.'\',\'xmlhttp\');return(false)



le script :

Code :
<?
    include("config.php");

    if($_GET['1']==1)
        {
        $X = $_GET['X'];
        $Y = $_GET['Y'];
        
        // Update ds données GPS du joueur.
        $req_update_1 = " UPDATE user SET x='$X',y='$Y' WHERE login='$pseudo' ";
        $result_update_1 = mysql_query ($req_update_1) or die ('Erreur : '.mysql_error());
        
        echo $X."/".$Y;
        
        }
    ?>



mais sa ne marche pas !

Y'aurais moyen de m'aider ?

Merci !


RE: Requete update avec ajax ! - Raoull - 25-10-2007

Slt,
lors d'un clic pour se déplacer, la fonction JS (ajax) "move(x,y)" est appellée, qui appelle à son tour "deplace.php".

deplace.php ne sert qu'à mettre x et y dans la session.
C'est le bon moment pour, en php, update ce x/y dans ta bdd.

EDIT:
mmm mais je vois qu'apperement tu as adopté le code d'origine à ta sauce, et que tu as apparement un probleme avec ton php.

déjà : update_bdd_map.php?1=1
et : if($_GET['1']==1)

Citation :(...) Un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés (...)

http://fr.php.net/manual/fr/language.variables.php


RE: Requete update avec ajax ! - denisc - 25-10-2007

c'est pô un 1, c'est un L, non???

Ca permet de contrôler que c'est bien l'appel ajax qui a été envoyé au client qui est utilisé, avec l=random...

Sauf que dans le script, il le trouve où le l??? par l'opération du saint esprit? il est en BD? en Session? Sinon, il est inconnu du script PHP!!!

Fait gaffe à ce système, c'est pas sécurisé... N'importe qui pourra injecter une position en appelant ta page hors javascript et en passant les coordonnées désirée avec le l=xxxxxx qui lui a été envoyé! (en tout cas, moi, j'essai Big Grin)


RE: Requete update avec ajax ! - opoz - 25-10-2007

Slt, en faite j'ai trouver la soluce !

C'etait assez simple ! voila la difference :

Code PHP :
<?php 
if($_GET['1']==1)
{

$X = $_GET['X'];
$Y = $_GET['Y'];

// Update ds données GPS du joueur.
$req = " UPDATE user SET x= $X , y= $Y WHERE login='$pseudo' ";
mysql_query ($req);

include (
'variables.php'); // Recuperation des variables du joueur.

echo $x_player."/".$y_player;

}


Et pour le probléme de sécuriter ! tu peut m'expliquer comment j'pourai aranger sa ?

Merci à vous ! :good:


RE: Requete update avec ajax ! - Raoull - 25-10-2007

denisc a écrit :c'est pô un 1, c'est un L, non??

Au temps pour moi... je deviens miro


RE: Requete update avec ajax ! - khiguard - 25-10-2007

Citation :Et pour le probléme de sécuriter ! tu peut m'expliquer comment j'pourai aranger sa ?
Déjà il faudrait travailler avec les sessions. faire passer l'ID du perso en session permet d'éviter toute interférence.
Ne pas faire de requete avec du texte, c'est trop lourd. Toujours avec un ID.

Ne passe pas de X,Y par la page, mais uniquement des directions (+1,-1). Ca permet déviter que si quelqu'un passe tes défenses, il puisse ce téléporter.

@+


RE: Requete update avec ajax ! - opoz - 25-10-2007

Slt, merci pour ces conseil ! :good:

Je me suis mis au sessions, je vais passer le maximun de paramètres par celle ci !

Et en plus beaucoup moin lourd !