Page : 1 |
magik-orion |
Posté le 06/05/2007 12:37
- #
|

Membre
49 messages
18 ans |
Bonjour
Voila, j'ai beau changer ma page, les conditions ne se traduisent plus.
Quand je prend un fichier compilé dans le dossier templates_c, j'ai ça :
{if (!empty($msg)) }
<table width="60%" border="0" align="center" cellpadding="2" cellspacing="0" class="main_table2_rouge">
<tr>
<td><span class="Style7">{$msg}</span></td>
</tr>
</table>
<p> </p>
<?php } ?>
La fin de la condition a été correctement rendue, mais pas le début :
{if (!empty($msg))}
Je voulais savoir ou était le problème.
Merci
|
magik-orion |
Posté le 06/05/2007 12:42
- #
|

Membre
49 messages
18 ans |
Non, le problème est réglé, j'avais mis des espaces entre la condition et le if.
Désolé pour le dérangement et a+
|
gaga26 |
Posté le 06/05/2007 13:08
- #
|


741 messages
18 ans |
Pas de problème, ca évitera que la question ne soit reposée, par contre, je déplace dans le forum balises.
|
magik-orion |
Posté le 07/05/2007 18:19
- #
|

Membre
49 messages
18 ans |
J'ai le même problème, mais cette fois-ci je ne sais plus quoi faire, j'ai tout tenté.
Mon url est de la forme http://............./mapage.php?msg=xxxxx
Dans ma page php qui reçoit cette url, j'ai mis :
elseif (! empty($_GET['msg']) || $QUERY_STRING == '')
{
if (! empty($_GET['msg']))
{
$tpl-> assign('msg', $lang[$_GET['msg']]);
}
$tpl-> assign(array('subtitle_upload_index' => $lang['subtitle_upload_index'],
'file_to_upload' => $lang['file_to_upload'],
'upload_options' => $lang['upload_options'],
'radio_up_1' => $lang['radio_up_1'],
'radio_up_2' => $lang['radio_up_2'],
'radio_up_3' => $lang['radio_up_3'],
'upload_dir_storage' => $lang['upload_dir_storage'],
'upload_dir' => $dossier_upload,
'button_start_upload' => $lang['button_start_upload'],
'upload_miniature_caution' => $lang['upload_miniature_caution']
));
$tpl-> parse($param['default_style'] . '/admin/admin_upload_index.tpl');
}
Et donc cette page est lié avec la page admin_upload_index.tpl qui est :
{if(!empty($msg))}
<table width="60%" border="0" align="center" cellpadding="2" cellspacing="0" class="main_table2_rouge">
<tr>
<td><span class="Style7">{$msg}</span></td>
</tr>
</table>
<p> </p>
{/if}
En fait, ce qui ne fonctionne pas c'est l'affichage du message d'erreur sur la page Tpl, pourtant la variable est bien dans l'url et le contenu de $msg n'est pas nul.
Voila, merci
|
gaga26 |
Posté le 07/05/2007 19:03
- #
|


741 messages
18 ans |
Et que donne le fichier compilé ?
|
magik-orion |
Posté le 07/05/2007 19:07
- #
|

Membre
49 messages
18 ans |
Le fichier TPL compilé donne ceci :
<?php if(!empty($msg)){ ?>
<table width="60%" border="0" align="center" cellpadding="2" cellspacing="0" class="main_table2_rouge">
<tr>
<td><span class="Style7">{$msg}</span></td>
</tr>
</table>
<p> </p>
<?php } ?>
|
gaga26 |
Posté le 07/05/2007 19:34
- #
|


741 messages
18 ans |
C'est bien ce que je pensais, la variable n'est pas déclarée. C'est une erreur qui revient souvent avec les conditions. Même si la variable vaut NULL, il faut la déclarer, faute de quoi mon moteur ne la compilera pas (il ne va pas inventer des vars au p'tit bonheur la chance ). Fait bien attention à ne pas confondre isset (qui est incompatible avec gagatemplate) et empty.
|
magik-orion |
Posté le 07/05/2007 19:37
- #
|

Membre
49 messages
18 ans |
Heu... en gros, ca va dire que la variable $msg ne contient rien et en plus de ça qu'elle n'existe même pas ?
Et aussi, je n'est mis aucun isset lol. Je devrais les utiliser d'après toi ?
|
gaga26 |
Posté le 07/05/2007 19:44
- #
|


741 messages
18 ans |
Citation : magik-orion Heu... en gros, ca va dire que la variable $msg ne contient rien et en plus de ça qu'elle n'existe même pas ?
Et aussi, je n'est mis aucun isset lol. Je devrais les utiliser d'après toi ?
Excuse moi de mon imprécision, pour que mon moteur de templates reconnaissent une variables, il faut qu'elle lui soit déclarée. Dans le code suivant :
if (! empty($_GET['msg']))
{
$tpl-> assign('msg', $lang[$_GET['msg']]);
}
la variable n'est déclarée que si $_GET[msg] existe, mais si il n'existe pas... problème. Le code juste serait :
if (! empty($_GET['msg']))
{
$tpl-> assign('msg', $lang[$_GET['msg']]);
}else{
$tpl-> assign('msg', NULL);
}
Et tant qu'on y est, autant faire comme ça :
$tpl->assign('msg', @$lang[$_GET['msg']]);
Comme ça, si la variables $_GET[msg] n'existe pas, ce n'est pas grave, elle vaudra NULL, et on met @ pour évité les messages d'erreurs.
|
magik-orion |
Posté le 07/05/2007 20:02
- #
|

Membre
49 messages
18 ans |
Navré, j'ai fais ce que tu m'as dit, j'ai toujours la même "erreur" :
Voici mon nouveau code :
if (! empty($_GET['msg']))
{
$tpl-> assign('msg', @ $lang[$_GET['msg']]);
}else{
$tpl-> assign('msg', NULL);
}
Le fichier TPL n'a pas changé :
<?php if(!empty($msg)){ ?>
<table width="60%" border="0" align="center" cellpadding="2" cellspacing="0" class="main_table2_rouge">
<tr>
<td><span class="Style7">{$msg}</span></td>
</tr>
</table>
<p> </p>
<?php } ?>
Voila, aie aie aie. Une autre idée ? lol je vais éssayé de chercher moi aussi.
Mais c'est etrange car la variable $msg contient quelque chose normalement, elle contient le message d'erreur. C'est pour ça que je comprend pas bien. D'autant plus que j'ai une autre page de mon site qui repose sur extactement le même code et elle marche nikel. Alors je vois pas où est le problème Edité par magik-orion le 07/05/2007 20:05
|
gaga26 |
Posté le 07/05/2007 20:05
- #
|


741 messages
18 ans |
C'est parce que le fichier est toujours en semi-cache, tu as plusieurs solution :
- mettre la variables compile à true
- effectuer la fonction clean_compile_dir() une fois
- vider manuellement le dossier templates_c/
- modifier le fichier template
- ...
Voilà , comme ça tu as le choix.
|
magik-orion |
Posté le 07/05/2007 20:08
- #
|

Membre
49 messages
18 ans |
Ah, pourtant je pensais l'avoir supprimer manuellement, désolé du redérangement je suis vraiment pas doué...
En tout cas, cimer pour l'aide
a+
PS : je vais éssayer d'arreter de créer plus de 1 topic par jour sinon, dans 10 jours ta BDD explose lol
|
magik-orion |
Posté le 07/05/2007 22:24
- #
|

Membre
49 messages
18 ans |
Message a supprimé car problème résolu désolé Edité par magik-orion le 07/05/2007 22:46
|
gaga26 |
Posté le 08/05/2007 13:50
- #
|


741 messages
18 ans |
Citation : magik-orion Message a supprimé car problème résolu  désolé
Sur ce forum, on ne supprime aucun message (à moins qu'il soit interdit), on les met comme résolu.
|
magik-orion |
Posté le 10/05/2007 21:46
- #
|

Membre
49 messages
18 ans |
Lol gaga26
Je parlais de mon dernier message, justement celui où je disais qu'il fallait le supprimer. Je ne parlais pas du sujet en question.
Parce que j'avais posé une nouvelle question; mais celle-ci a été réglée.
Merci et a+
|
Darth Killer |
Posté le 11/05/2007 11:14
- #
|


98 messages
25 ans |
T'as oublié de mettre ton sujet comme résolu ;p
|
magik-orion |
Posté le 11/05/2007 14:51
- #
|

Membre
49 messages
18 ans |
Arf, désolé. Mais on fait comment ? Sur le sdz y'a un lien mais là je voit pas ouù lol
Mais merci de l'avoir fait à ma place en tout cas
a+ Edité par magik-orion le 11/05/2007 14:52
|
gaga26 |
Posté le 11/05/2007 17:20
- #
|


741 messages
18 ans |
Citation : magik-orion Arf, désolé. Mais on fait comment ? Sur le sdz y'a un lien mais là je voit pas ouù lol
Mais merci de l'avoir fait à ma place en tout cas
a+
Il faut éditer ton tout premier message.
|
Natim |
Posté le 14/05/2007 18:45
- #
|
Membre
34 messages
21 ans |
Pour éviter cela quand je développe, je mets compile à true dans la classe de gagatemplate.
|
Page : 1 |