GAGA Template

XLetter

Les conditions ne fonctionnent plus

Sujet résolu

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

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

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Balises, à la liste des forums, ou au haut de page