Bonjour à tous
Je me trouve face à un problème qui dépasse ma vision actuelle du langage PHP et des systèmes de gestion de templates.
Je programme actuellement un portail web et j'utilise pour séparer le contenu du code le système de templates de phpbb.

J'ai un fichier tp pour l'entete (header.tp) un fichier tp pour la page en cours et un fichier tp pour le footer.
J'inclu systématiquement le header et le footer. Au début de chacun de mes scripts je parse le header après lui avoir assignés les variables correspondant à un menu de navigation.

Mon problème est que je veux utiliser une fonction de redirection d'une page vers une autre au bout de x secondes.

Cette fonction se présente ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function redirection($location, $why, $message, $title)
{
    //include_once('template.inc.php');
    //$template = new Template('./templates');
 
    global $template;
    $template->set_filenames(array('redirection' => 'redirection.tpl'));
 
    $template->assign_vars(array(
    'LOCATION'    =>    $location,
    'WHY'        =>    $why,
    'MESSAGE'    =>    $message,
    'TITLE_PAGE'=>  $title));
 
 
    // On parse le fichier HTML, c'est à dire qu'on assigne aux fichier template toutes les données qu'on à créer dans le .php
    $template->pparse('redirection');
    $template->pparse('footer');
}
Le problème c'est que le code de la page en cours de redirection est complètement hors norme ce que je ne peux accepter.
Exemple :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="./include/style.css" media="screen" />
<title></title>
</head>
<body>
 
 [...]
 
<div id="content">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Refresh" content="2;url=index.php">
<title>Redirection en cours</title>
</head>
<body>
<div class="center_content">
<p>
    Vous n'avez pas les droits pour acc&eacute;der &agrave; l'interface d'administration. <br  />
    Vous allez &ecirc;tre redirig&eacute; dans quelques instants.
</p>
</div>
</body>
</html>
<!-- Inclusion du pied de page commun à toutes -->
</div>
<!-- * -->
<!-- Footer -->
<div id="footer">Je suis un magnifique pied de page</div>
<!-- * -->
</div>
<!-- Fermeture des balises HTML-->
</body>
</html>
Cette erreur vient du fait que le header est parsé en début de script. Mais je ne vois pas comment faire autrement.

Je suis désolé pour la taille de ce post mais je pense que c'était le minimum pour que vous puissiez comprendre quelque chose à mon barratin...

Je remercie d'avance tout ceux et toutes celles qui se pencheront sur mon problème et qui pourront peut-être me donner quelques idées

Olivier BALAIS