TinyButStrong - the PHP Template Engine
Categories > TinyButStrong general >

[fr] une simple variable refuse de s'afficher (selon)

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs

By: Jurvillier
Date: 2016-02-24
Time: 23:30

[fr] une simple variable refuse de s'afficher (selon)

J'ai honte, mais j'ai passé trop d'heures à faire des tests.
ma variable $mess_erreur s'affiche dans un "echo .." et semble vide dans TBS (mais connue, pas en erreur !)
Je remplis le coeur d'une page,   avec une fonction qui contient un formulaire qui s'auto-appelle qui se termine ainsi :
global ........, $mess_erreur;
....
$mess_erreur = $mess_err;
echo "<br/>MESS2 ".$mess_err . "MESS2<br/>";
$TBS->LoadTemplate('tpl/musiciens_photo.htm');
$TBS->Show(TBS_OUTPUT);
?>
le template commence ainsi :
<p>
mess_err : [onshow.mess_erreur] fin_mess_err
</p>
<div class="oui">
[onshow.mess_erreur;noerr;magnet=div]
</div>
...
...<form ...>
...

La partie de la page concernée s'affiche ainsi :
"
MESS2 Le fichier dépasse la taille limite de 80ko !MESS2

mess_err : fin_mess_err
"
Selon le type d'appel, le contenu de la variable s'affiche ou pas, c'est le problème,
alors que le "echo " rend TOUJOURS une valeur correcte !
(1ère lecture de la fonction : affichage du form. , puis "envoyer", au retour, malgré la définition de la var. , elle semble avoir une valeur nulle).
Je suis en train de mettre  à jour un code php4 en php 5.5.12 avec  TBS 3.8 ; php5 que je commence seulement à pratiquer, après 5ans de retraite !

By: Skrol29
Date: 2016-02-25
Time: 01:10

Re: [fr] une simple variable refuse de s'afficher (selon)

Je ne vois pas non plus l'erreur. Sauf que tu testes $mess_err avec echo, mais tu utilises en fait $mess_erreur dans le template.
As tu essayé de retirer le paramètre "noerr" ? Et de regarder le contenu HTML du résultat pour voir s'il n'y avait pas de contenu invisible ?
By: Jurvillier
Date: 2016-02-25
Time: 11:38

Re: [fr] une simple variable refuse de s'afficher (selon)

précision : chaque page de l'appli se fabrique de divers include de programmes selon les choix de menus, ce n'est pas une "fonction" comme je l'avais maladroitement dit.
- A l'origine il n'y a que $mess_err ; envisageant un conflit, j'ai créé, pour test, une nouvelle variable $mess_erreur : même résultat.
- J'ai rajouté [onshow.mess_erreur] dans le template pour vérifier que la variable était bien sans erreur (idem avec $mess_err).
- le contenu html est tout à fait propre dans la zone en question , par exemple :
....
<br/>MESS2 fichier valide téléchargéMESS2<br/>
<p>
mess_err :  fin_mess_err
</p>
Le premier appel du code affiche bien $mess_err, c'est le résultat du rappel par le form. (contenu dans le tpl) qui n'affiche plus.
Je pense que c'est un pb php, et pas TBS, mais je patauge.
Un petit programme basique utilisé avec le meme tpl, changeant juste l'action pour se rappeler lui-même, affiche bien le message à tout appel.
By: Skrol29
Date: 2016-02-26
Time: 00:58

Re: [fr] une simple variable refuse de s'afficher (selon)

Je peux regarder ce qu'"il se passe si tu peux m'envoyer un bout de code qui reproduit le bug.
By: Jurvillier
Date: 2016-02-26
Time: 10:56

Re: [fr] une simple variable refuse de s'afficher (selon)

super sympa,
j'ai essayé de reconstituer au plus près le code en 1 seule page, et là tout fonctionne correctement !