JeuWeb - Crée ton jeu par navigateur
[résolu] Pb transmission de variables dans un template - 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] Pb transmission de variables dans un template (/showthread.php?tid=3938)



[résolu] Pb transmission de variables dans un template - cipic - 02-05-2009

Bonjour à tous !

Je débute en pHp : j'essaye d'apprendre ce langage afin de coder un jeu que je suis en train de concevoir. (J'alterne les phases d'apprentissage du code et de conception du jeu histoire de ne pas concevoir des trucs incodables)

Pour gérer le calendrier dans mon jeu, j'ai un système un peu tarabiscoté qui me pose un souci.

j'ai un premier module "time.php" qui génère des variables :

Code PHP :
<?php 
global $nom_jour, $jour_ig, $nom_mois, $annee_ig, $heure_ig, $minute_ig;

ceci est nécessaire car le temps s'écoule plus vite dans le jeu qu'en réalité, donc le module calcule la date et l'heure in game par rapport à l'heure réelle avec un système de timestamp

(au passage 3,8 x10^10 c'est problématique à stocker comme nombre ?)


bref, ensuite au début de index.php j'inclus config.inc.php, qui contient lui même un include vers time.php


>> pourquoi mes variables ne se transmettent-elles pas correctement ?
alors que je peux afficher la date à la fin de time.php, je ne peux pas le faire sur index.php sans que les chaînes ne ressortent bizarrement modifiées...


RE: Pb transmission de variables dans un include - Allwise - 02-05-2009

Dans quel contexte fais-tu appel à tes variables ?
Si tu les appelles depuis une fonction, il faut que tu les redéclares en global.
Sinon, mets un echo dans le fichier time.php, afin d'être sûr que tes includes sont corrects et qu'il n'y a pas d'erreurs dans les fichiers inclus.


RE: Pb transmission de variables dans un include - cipic - 02-05-2009

bon ben mes includes ne posent aucun problème, ni le fichier time lui-même, c'est parce que j'inclus les variables dans un template et c'est la que ça merde.

j'utilise une classe de modele qui contient

Code PHP :
<?php 
function assigner ($champ, $valeur)
{
$this -> champs[$champ] = $valeur;
}

et quand je fais
Code PHP :
<?php 
$index
->assigner ('nom_jour', $nom_jour);
$index->assigner ('jour_ig', $jour_ig);
$index->assigner ('nom_mois', $nom_mois);
$index->assigner ('annee_ig', $annee_ig);
$index->assigner ('heure_ig', $heure_ig);
$index->assigner ('minute_ig', $minute_ig);

Il y a un problème de types : les string se transmettent mais pas les doubles.

Je suppose qu'il faut que je force le type string sur celles qui sont doubles ?
oé en tout cas en rajoutant un
Code PHP :
<?php 
settype
($jour_ig, "string");
ça marche nickel... merci !