Autor Zpráva
Senky
Profil
Zdravím,
dosť dlho hľadám po nete nad nejakým riešením, no zatiaľ som neobjavil ani jeden. Mám skript, ktorého template (teda html časť) vkladám až na konci skriptu cez include(). Pred tým do premennej (alebo teda poľa) $template definujem všetko čo sa dá, aby som mal v template súbore čo najmenej php-čka. Ako vravím, na koniec skriptu pridám
include "template_subor.php";

A očakával som, že to normálne pôjde, avšak premenné sa do includovaného súboru nepresunuli. Proste to odignorovali. Mám zapnuté regiter_globals v php a skúšal som jedinú rozumnú radu, ktorú som našiel na nete - dať do skriptu aj template súboru na začiatok
global $template;

avšak nezabralo to.

Mohol by mi niekto s týmto problémom pomôcť?
Ďakujem...
WertriK
Profil
Senky:
Vadilo by hodně kdybys obsah template_subor.php zaobalil jako funkci, naicludoval ji třeba na začátku a potom s parametrem $template zavolal?
Majkl578
Profil
Nevím co ti na tom nefunguje. Definovaná proměnná je následně dostupná i ve scriptu, který se includuje.

Použití register_globals a global důrazně nedoporučuji.
Alphard
Profil
global má smysl ve funkcích.
Přenos proměnných do includovaných částí scriptu funguje, chyba bude jinde.

[#2] To nějak pomůže?
Senky
Profil
No, vlastne ani nie, ale tak mám tam zvlášť header a footer, a celkovo template je dosť zložité, tak som to nechcel miešať so skriptom. Taktiež som skúsil relatívnu cestu k súboru, teda cez /home/www/..., ale stále to nefungovalo. No a neviem či ste to pochodili správne, ak urobím niečo takéto:
$premenna = 'a';
include 'a.php';
echo $premenna;

pricom obsah a.php je:
$premenna = 'b';

tak to ide, avsak ak to vymenim, teda najprv definujem premenne a potom ich chcem zobrazit cez include subor, takto:
$premenna = 'a';
include 'a.php';

a obsah a.php:
echo $premenna;

tak vysledok bude prazdna strana, to neviem preco sa deje. Nenastavuje sa to niekde v php.ini, aby sa to prenasalo alebo nieco?
mattyZEM
Profil
Pokud je proměnná nad includovaným souborem tak se musí zobrazit, chyba je jinde.
Senky
Profil
Už to mááám. Dakujem všetkým za pomoc. Chyba bola primitívna, až sa za ňu hanbím - v template súbore som nedal echo funckiu, proste som tam vypísal názov premennej, ale nedal som pred ňu echo...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0