Templates/PostgreSQL
Hors ligneCarroteman Le 13/08/2007 à 13:28 Profil de Carroteman Configuration de Carroteman

-Donc quand est-ce qu'on doit utiliser le moteur de template et quand doit-on ne pas l'utiliser ?

-si on utilise le cache on ne doit pas faire de reqête MySQL?
Hors ligneAnthony Le 13/08/2007 à 13:32 Profil de Anthony Configuration de Anthony

Admin
Tu l'utilises quand tu veux, on ne fait pas qu'un code pour les perfs mais aussi pour la maintenabilité, donc à toi de choisir, et le cache tu le gères comme tu veux, l'avantage de mon système (comme c'est écrit sur l'adresse de la source ...) c'est que tu peux cacher (mettre en cache) certaines parties du document et pas d'autres.
--

Hors ligneCarroteman Le 13/08/2007 à 13:42 Profil de Carroteman Configuration de Carroteman

J'ai essayé d'hébergé ton exemple pour mieux comprendre comment fonctionne la class template et j'ai essayé de faire des modifs au code du fichier template.inc en seulement modifiant le mot test du block par 'salut' et quand j'ai actualisé la page rien n'a changé, toujours le mot test qui apparait. Cela doit venir du fait que le block contenant le mot 'test' est caché mais alors comment le modifié ?
Hors ligneAnthony Le 13/08/2007 à 17:31 Profil de Anthony Configuration de Anthony

Admin
Tu regardes dans la fonction la liste des arguments qu'elle prend, y'en a un qui correspond au cache, il faut le mettre à FALSE au lieu de TRUE.
--

Hors ligneCarroteman Le 13/08/2007 à 17:42 Profil de Carroteman Configuration de Carroteman

a donc si j'ai bien compris en fait une foix caché il faux attendre le temps expiré du cache pour qu'il soir plus valide ainsi la page sera recaché et donc modifié dans le caché c'est bien sa ?

Ansi quand on a un contenu avec du php mais qui ne changera pas on peut caché mais dés qu'il y a un mini-chat qui risque d'acceuillir souvent des messages on ne peut pas cacher le mini-chat au risque de ne pas voir les modifications, c'est bien sa ?
Hors ligneAnthony Le 13/08/2007 à 17:54 Profil de Anthony Configuration de Anthony

Admin
Oui c'est ça, donc en fait tu peux cacher toute la page mais pas le minichat, moi par exemple je cache tout le document sauf le nombre de connectés et le pseudo du visiteur (enfin ça dépend des pages consultées, parfois je ne cache rien du tout).
--

Hors ligneCarroteman Le 13/08/2007 à 17:59 Profil de Carroteman Configuration de Carroteman

ouf^^ merci beaucoup de ta patience ! j'ai compris parfaitement le système cache + moteur de template et je t'en remercie !

maintenant je vais essayer de résoudre les derniers points un peu flou du script du moteur de template lol encore une fois merci
Hors ligneAnthony Le 13/08/2007 à 18:26 Profil de Anthony Configuration de Anthony

Admin
--

Hors ligneCarroteman Le 13/08/2007 à 23:23 Profil de Carroteman Configuration de Carroteman

Bonsoir, j'essaye de créer un script avec le moteur de template celui-ci consiste à tout d'abord affiché un formulaire puis si les logins sont bon, supprimer le formulaire et afficher "Bonjours [son pseudo]" :
le HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a class="lb" href="<a class="lb" href="<a class="lb" href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></a>">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></a></a>">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></a>">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></a></a></a>
<html xmlns="<a class="lb" href="<a class="lb" href="<a class="lb" href="http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"
</a>">http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"</a></a>">http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"</a>">http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"</a></a></a> xml:lang="fr" lang="fr">
    <head>
        <title>
Banniere</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

          <link rel="stylesheet" media="screen" type="text/css" title="design_forum" href="design_site.css" />
          </head>
    <body>

     {SALUTATION}
     <!--FORMULAIRE-->
     <form action="template_php.php" method="post">
     <input type="text" name="pseudo" /><br />
     <input type="password" name="motdepasse" /><br ><br >
     <input type="submit" name="enter" />
     </form>
     <!--/FORMULAIRE-->

     </body>
</html>



le php :

<?php
//------------------------------------------
//On inclue et on crée une instance
//-------------------------------------------
include ('classe_template.inc.php');
$template = new template('template.html''./cache'FALSETRUE60''TRUE);

//--------------------------------------------------------
//On vérifie que les variables existent pour
//éviter les failles SQL et on vérifie si les
//champs du formulaires ont été remplus
//sinon on affiche le formulaire
//----------------------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['motdepasse']))
{
     if (empty($_POST['pseudo']) AND empty($_POST['motdepasse']))
     {
     echo $_POST['pseudo'];
     //-------------------------------------------------------------------------
     //On applique des fonctions aux variables pour la sécurités
     //--------------------------------------------------------------------------
     $pseudo mysql_escape_string(htmlentities($_POST['pseudo']));
     $motdepasse md5(mysql_escape_string(htmlentities($_POST['motdepasse'])));

     mysql_connect('*****''********''********') or die('Login du serv éroné');
     mysql_select_db('***********') or die('Erreur de connection à la BDD');
     //--------------------------------------------------------------------------------------------
     //On vérifie si les logins sont bon et on récupère le pseudo pour l'afficher
     //--------------------------------------------------------------------------------------------
     $retour mysql_query('SELECT pseudo FROM identifiants WHERE pseudo =' .$pseudo' AND motdepasse =' .$motdepasse);
     mysql_close();

     //-----------------------------------------------------------------------------------------
     //Si les donnés sont bon on enlève le formilaire et on affiche son pseudo
     //------------------------------------------------------------------------------------------
     if ($donnee mysql_fetch_row($retour))
     {
     $template->supprime_bloc('FORMULAIRE');
     $template->assign('SALUTATION''Bonjours, '.$donnee[0]);
     }

     else
     {
     $template->supprime_bloc('FORMULAIRE');
     $template->assign('SALUTATION''Bonjours, visiteur');
     }

     echo $template->afficher();
     }
}

else
{

}
?>


Le problème c'est que je ne sais pas quoi mettre dans le dernier else pour afficher le formulaire :S
Par ailleurs si tu vois quelquonque modification dans mes codes qui pourraient amélioré mon sscript fait le moi savoir stp

Merci de ta réponse
Hors ligneAnthony Le 14/08/2007 à 00:28 Profil de Anthony Configuration de Anthony

Admin
Tu n'as rien à mettre, par défaut le bloc s'affichera si tu ne l'as pas supprimé ;)
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels