Pour la fonction : Envoyer une requête à une page web
Dans cette fonction il y a :
2- Enregistrer la réponse dans la variable… Je dois retourner quoi ?
XML, HTML, JSON, JAVASCRIPT…
S’il y a déjà un sujet désolé j’ai fait une recherche sur wiki et le forum et je n’ai pas trouvé ma réponse.
[edit] Désolé, je n’avais pas vu le fichier tuto dans GD Il me reste plus qu’à étudier un peu JSON
[edit2] Pour les jeu en HTML5 je n’arrive pas à lire les variables retourné. J’ai toujours 0 comme info. Est-ce qu’il y a un moyen pour la plateforme web d’avoir les valeurs de mes variables ?
Sinon pour plateforme native tout est OK
Pour ceux qui serai intéressé a savoir quoi mettre dans le fichier php. voici un peu de code
<?php
// PAGE ENTETE DU FICHIER
header('Content-Type: text/javascript; charset=utf8');
header('Access-Control-Allow-Origin: http://www.TONSITE.com/');
header('Access-Control-Max-Age: 3628800');
header('Access-Control-Allow-Methods: GET, POST');
// LA VARIABLE $_REQUEST ENGLOBE TOUT LES REQUETE POST GET COOKIE ETC...
if(isset($_REQUEST['UserID'])) {
/*
ICI VOUS POUVEZ FAIRE DES TEST A SAVOIR
SI LE userID EST BIEN DANS VOTRE BASE DE DONNER
OU SUR VOTRE FICHIER
*/
if($_REQUEST['UserID'] == 2) {
// DONNEE QUI SERA RETOUR AU JEU
// ARME 1 PEUT FAIRE REFERENCE A UNE ANIMATION D'UN OBJET
$arr = array("Nom"=>'BOB MARLEY','vie' => 2, 'rubis' => 400, 'arme' => 1);
// ENVOI AU NAVIGATEUR LE TRAITEMENT QUE GD LIRA
echo '['.json_encode($arr).'];';
}
}
?>
Ce qui est renvoyé par ta page php ( au moyen des “echo” ) peut être ce que tu veux : C’est ce qui sera stocké après dans la variable sous forme brute.
Ca peut donc être un texte tout bête indiquant la réussite ou non de l’opération.
Si tu as des besoins plus évolués, tu peux renvoyer du JSON et le stocker dans la variable. Ensuite, utilise l’action pour décoder la variable qui contient le JSON brut vers une autre variable : La seconde variable deviendra une structure se conformant au JSON de la première.
( Par exemple, si le json renvoyé est { Etat:“Succes”, Temps:3 }, tu peux stocker ce JSON dans une première variable, puis utiliser l’action de décodage de JSON pour qu’une autre variable ( ou même la même variable ) soit transformée en structure contenant une sous variable “Etat” et une sous variable “Temps” ).
Pour accéder à une structure, utilise la notation avec des points, du genre : Reponse.Etat ou Reponse.Temps.
Merci pour ta réponse rapide. L’information que tu viens de me fournir, je l’ai déjà appris.
J’ai aussi trouvé ma réponse à ma question pour les variables en plateforme web. Tu me l’avais déjà dit dans un notre post que j’ai relu. Sous firefox la commande (Ctrl+shift+k) et localstorage.
Voici ce que ca retourne:
erreur JS
[08:46:29,512] L’encodage de caractères du document HTML n’a pas été déclaré. Le document sera affiché avec des caractères incorrects pour certaines configurations de navigateur si le document contient des caractères en dehors de la plage US-ASCII. L’encodage de caractères de la page doit être déclaré dans le document ou dans le protocole de transfert. @ amedacier.com/amedaciergame/
Montre une copie d’écran des évènements si tu veux.
Le jeu est sur le même serveur que le script, c’est bien ça.
Par contre, je ne vois pas l’intérêt de mettre le JSON entre crochets [ ]. Au contraire, ça signifie que c’est un tableau et GD va créer une structure qui contient les élements du tableau dans des variables enfants appelées “0”, “1”…
Vire les crochets déjà, puis quand tu récupère le JSON, assure toi de le décoder dans une variable avec l’action appropriée. Enfin, accède aux élements de cette variable comme ceci : TaVariable.sName
Maintenant ça me semble ok…
Le JSON renvoyé semble bien, les évenements aussi, à part quand même que tu envoie une requête POST, et que ta page de test utilises une requête GET ( Le “?sID=ut958tu5498u459” est une requête de type GET ) : Modifie ta page PHP pour qu’elle utilise POST au lieu de GET, ou fais une requête GET dans les évènements.
Si ce n’était pas écrit j’aurais demandé si tu me faisais marcher!
Non c’est pas en mode preview.
J’ai Uploader les fichiers sur mon site. (voir 6 post plus haut, j’ai mis les liens).
La commande dans Firefox localStorage ne semble retourner rien.
J’utilise aussi Fiddler Web Debugger qui me retourne tout les liens auquel mon ordi fait appel.
Je vois bien qu’il appel la page /test.php et je viens de me rendre compte qu’il appel aussi une image bunny.png que je n’utilise même pas.
La page retour bien le JSON puisque Fiddler me retour aussi ce que la page à répondu. Donc je crois qu’il y a quelque chose qui cloche à la réception des données dans le javascript.
[edit]
Je viens de trouvé le BUG. Si je suis sur le site amedacier.com et non http://www.amedacier.com
ce qui fait que les variables ne sont pas prise en charge.
Donc avec PHP je peux détecté si je suis sur amedacier.com sans les WWW et le forcer à aller sur le site avec les WWW. C’est quand même très étrange.