Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno [PHP] Problém se Smarty - přesměrování a session

Zdravím Vás,

mám 3 soubory:
soubor1.php
soubor1.tpl
skript1.php

V soubor1.tpl mám formulář a nad ním by se měla zobrazovat SESSION hláška ("Vyplňte to a to", "Formulář byl odeslán", atp.). V soubor1.php mám samozřejmě assign->display tohoto templatu a assign potřebných proměnných. Celý formulář se metodou POST odesílá do skript1.php. Ve skript1.php se překontrolují vstupní data a vytvoří se $_SESSION['hlaska'] dle správnosti údajů a pomocí header("Location: ...") se přesměruje zpět do soubor1.php a měla by se tato hláška zobrazit nad formulářem. Avšak se nezobrazí hned, ale až když stránku (soubor1.php) ručně aktualizuji. Odhaduju to na to, že Smarty to soubor zkompilovaný a načte to z cache. Cache jsem však zkoušel mazat pomocí clearCache(), zkoušel jsem také nastavit force_compile = true... ani jedna možnost však nepomůže. Děkuji mockrát

Honza

Předmět Autor Datum
V tomhle ti pomůže debugger, pravá ruka PHP.
Pravá ruka 27.01.2014 15:48
Pravá ruka
Možno má tú stránku nakešovanú prehliadač. Skontroluj si v ladiacom nástroji svojho prehliadača na z…
los 27.01.2014 17:55
los
Díky za odpověď. Prohlížeč stránku nakešovanou nemá, aplikace se chová stejně ve všech prohlížečích.…
honneq 27.01.2014 21:11
honneq
Problém vyřešen! Omlouvám se za obtěžování. Řešení: require_once(APPURL.'/smartyconfig.php'); $smar… poslední
honneq 28.01.2014 07:38
honneq

Možno má tú stránku nakešovanú prehliadač. Skontroluj si v ladiacom nástroji svojho prehliadača na záložke so sieťovou aktivitou, či sa vôbec tá stránka čítala zo servera. Resp. si pozri, aké hlavičky súvisiace s kešovaním ten server vrátil (Cache-Control, Expires a pod.).

Díky za odpověď. Prohlížeč stránku nakešovanou nemá, aplikace se chová stejně ve všech prohlížečích. Když mám podobnou aplikaci bez šablonovacího jazyka Smarty, jede to jak má. Tudíž bych se spíše rád zeptal, zda nevíte, jak zabezpečit znovunačítání, potažmo kompilování dané stránky ve Smarty, ve které potřebuji toto session? Díky

Problém vyřešen! Omlouvám se za obtěžování.

Řešení:
require_once(APPURL.'/smartyconfig.php');
$smarty = new Smarty;
$smarty->force_compile = true;

Force compile jsem špatně používal - vkládá se přímo za vytvoření instance třídy. Pardon a díky :-)

Honza

Zpět do poradny Odpovědět na původní otázku Nahoru