Moze ktos z forumowiczow znalazlby rozwiazanie.
http://noface.nazwa.pl/t/ - testowe www
http://noface.nazwa.pl/t/functions_template.rar - klasa
Na wstepie napisze, ze w klasie na koncu skryptu tworze 3 obiekty, gora, menu i tresc glowna.
Przykladowe www z 2 podstronami, AAA i BBB. Kazda podstrona sklada sie z osobno generowanego pliku gory, menu, glownej zawartosci i stopki. Na podstronie BBB umiescilem przekierowanie na AAA, co ktores klikniecie w odnosnikBBB daje niepelna wygenerowana strone, pomaga dopiero kilkukrotne odswiezenie. Z tego co zauwazylem taki incydent nie zdarza sie w innych sytuacjach, tylko w czasie przekierowan ( heder() ).
Przyklad podstrony BBB
<?php $root_path = './'; include $root_path . 'includes/functions_template.php'; //-------- gora.php gora.php gora.php include $root_path . 'gora.php'; //-------- menu.php menu.php menu.php include $root_path . 'menu.php'; //-------- tresc glowna tresc glowna tresc glowna exit; $template->assign_body('bbb.tpl', 'styl'); 'fff' => 'ff', )); $template_gora->display_body(); $template_menu->display_body(); $template->display_body(); include $root_path . 'stopka.php'; ?>
Z testow wynika, ze jak juz pojawi sie niepelnie wygenerowana strona to jest ona zbudowana od miejsca w podstronie AAA, w ktorym nastapilo przekierowanie w podstronie BBB (Obie podstrony sa takiej samej struktury). Jezeli przesune header("location... wyzej, czyli przed zaincludowanie menu.php, to w czasie bledu, strona AAA generowana jest od menu, brakuje gory. Mowimy caly czas o przypadku klikania w odnosnik BBB, ktory przekierowuje na AAA.
Kod
...
include $root_path . 'gora.php';
//-------- menu.php menu.php menu.php
header('location: index.php');
exit;
include $root_path . 'menu.php';
//-------- tresc glowna tresc glowna tresc glowna
$template->assign_body('bbb.tpl', 'styl');
...
include $root_path . 'gora.php';
//-------- menu.php menu.php menu.php
header('location: index.php');
exit;
include $root_path . 'menu.php';
//-------- tresc glowna tresc glowna tresc glowna
$template->assign_body('bbb.tpl', 'styl');
...
Dodam, ze cache pliki w takich sytuacjach sa puste, tzn jezeli nie wygenerowala sie gora to plik cache gora ma 0KB.
Nie wiem o co chodzi, czy przy przekierowaniu pozostaja jakies informacje w pamieci, czy operacja na plikach nie moze odbywac sie tak szybko. Wg. mnie jezeli nastepuje header - przekierowanie i exit to strona na ktora prowadzi przekierowanie powinna spokojnie od zera ponownie sie budowac, bez wzgledu na to na jakim etapie budowy byla poprzednia strona.