JeuWeb - Crée ton jeu par navigateur
Refresh sans refresh - 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 : Refresh sans refresh (/showthread.php?tid=755)

Pages : 1 2


Refresh sans refresh - ibasticour - 03-02-2007

Bonjour tout le monde,
j'ai trouver ce forum par hasard et il à l'aire bien utile.

Je fait moi aussi un jeu, et j'ai actuellement quelques problèmes.
Sauriez vous m'aidez?

Mon premier problème ce trouve à l'achat des unités et des bâtiments.
J'ai donc un formulaire, et il est envoyer dans la même page.
Toutes les actions nécessaire son faite. (vérification, décompte des ressource, ajout des unités...)

Mais pour l'affichage des ressource (qui se fait avant la gestion des données du formulaire), les ressources ne sont pas encore décomptées.


Comment puis-je faire mettre à jour les données des ressources dans la même page?

J'ai pensé à la mise en cache, mais je ne sais pas du tout comment faire.
Cela ne peux pas être fait avec une actualisation non plus car le commentaire indiquant les erreurs ou l'achat sans erreur ne s'afficherait plus.

Je ne sais pas si je me suis fait comprendre.

Merci pour votre aide.


RE: Refresh sans refresh - max - 03-02-2007

hum avec une redirection JS mais je trouve ca assez lourd
qu'en pensez vous?


RE: Refresh sans refresh - ibasticour - 03-02-2007

Le problème avec javascript c'est que je ne sais plus faire aller les erreurs ou bien le message de confirmation.

Et je ne souhaite pas utiliser les superglobal $_GET['']


RE: Refresh sans refresh - icien - 03-02-2007

Si tu pouvais mettre un bout de ton code ca pourrait aider (genre l'affichage des ressources).


RE: Refresh sans refresh - Raoull - 03-02-2007

Et bien tu devrais p-e simplement traiter le formulaire d'abord, et ensuite afficher les infos si tout est correct.

C'est comme ca que j'ordonne mes pages de formulaire et c'est plus logique


RE: Refresh sans refresh - gtsoul - 03-02-2007




RE: Refresh sans refresh - ibasticour - 03-02-2007

Ben, le problème est que j'utilise un système complexe qui m'empèche de faire la gestion des données du formulaire avant l'affichage des ressources..


j'ai donc un index dans le quel est inclus les différents éléments.

La partie ressources est ajouté avant la partie du formulaire car le formulaire ce trouve dans la partie centrale.

L'affichage des ressources
Code PHP :
<?php 
echo '
<table id="tableau_ressources" cellspacing="0" cellpadding="0">
<tr>
<td><span class="couleur_nom">Ecus:</span> <span class="couleur_val">mes_ressources_ecu</span> </td>
<td><span class="couleur_nom">Bois:</span> <span class="couleur_val">mes_ressources_bois</span> </td>
<td><span class="couleur_nom">Tissus:</span> <span class="couleur_val">mes_ressources_tissu</span> </td>
<td><span class="couleur_nom">Viande:</span> <span class="couleur_val">mes_ressources_viande</span> </td>
<td><span class="couleur_nom">Metal:</span> <span class="couleur_val">mes_ressources_metal</span> </td>
<td><span class="couleur_nom">Or:</span> <span class="couleur_val">mes_ressources_or</span> </td>
<td><span class="couleur_nom">Lingots:</span> <span class="couleur_val">mes_ressources_lingot</span> </td>
</tr>
</table>'
;

Toutes les valeurs tels que "mes_ressources_or" sont pour le moment remplacé ) l'aide d'une regex (preg_replace()) dans un cache...
C'est tordu c'est parce que je pensais que cela pouvait être une solution et ca ne fonctionne pas, sinon, des variables tels $_SESSION['or'] donne la même chose.


Edit: j'ai trouver comment faire.

je fait une redirection en php
header("Location: mapage?infos_en_get");
(Pas de problème puisque la page est mise en cache pour la créée)
Et j'utilise un url writting pour cacher tout ça.

J'aurais pu y penser plus tôt, désolé d'avoir déranger.


RE: Refresh sans refresh - Plume - 04-02-2007

Je vois pas en quoi la récupération des données puis le traitement de ces dernières avant de finalement les afficher peut poser problème ...


RE: Refresh sans refresh - icien - 04-02-2007

si tu identifies tes <span> après avec un soupçon de javascript en fin de page (ou après le formulaire) tu peux mettre a jour sans recharger à chaque fois. Par exemple:

Code PHP :
<?php 
echo '
<table id="tableau_ressources" cellspacing="0" cellpadding="0">
<tr>
<td><span class="couleur_nom">Ecus:</span> <span class="couleur_val" id="spanecu">mes_ressources_ecu</span> </td>
'
;

et en fin de page (une fois les valeurs à jour):
Code :
<script type="text/javascript">document.getElementById('spanecu').innerHTML ='mes_ressources_ecu_ajour';</script>

C'est plus simple que de tout recharger, non ?

par contre je ne vois pas pourquoi le fait que le formulaire soit après l'affichage des ressources, empêche le traitement des données avant...


RE: Refresh sans refresh - gtsoul - 05-02-2007

si tu utilises un header, c'est que tu fais un refresh. Il n'y a certes qu'un affichage, mais il y a 2 requetes html, donc c'est kif-kiff (on masque le problème sans le résoudre).
Lorsque tu n'arrives pas à séparer le traitement de tes données de leur affichage, ce n'est pas la complexité de ton système qui est en cause, mais le manque de réflexion préalable.