Witam, mam problem...
Moja strona wyglada tak
[php]
<head>
<tilte> $tytul </title>
</head>
<body>
<?php include("menu.php"); ?>
<?php include("strona.php"); ?>
</body>
[/php]
(Pomijajamy bledy skladni), chodzi mi o to że zmienna $tytul jest dopiero w strona.php, a w momencie wyswietlana <title> ta zmienna nie jest znana, jesli sie da include wczesniej to wyswietla calosc jeszcze przed menu... jak to najprosciej rozwiazac? jest jakies polecenie ktore tylko pobiera zmienne z pliku?
Krzasz: Używaj BBCode
[php]Zastepstwo dla include lub require
Re: [php]Zastepstwo dla include lub require
zrób tak:
# strona.php #
[php]
<?
$tytul="To jest mój tytuł
";
$tresc_strony="Treść strony itp";
?>
[/php]
# index.php #
[php]
<?
include(strona.php);
?>
<title>
<? echo$tytul; ?>
</title>
Moja strona:
<? echo$tresc_strony; ?>
[/php]
Prawdopodonie w pliku strona.php miałeś funkcje echo.
Jak to Ci nie pomogło, to podaj kod pliku strona.php.
# strona.php #
[php]
<?
$tytul="To jest mój tytuł
$tresc_strony="Treść strony itp";
?>
[/php]
# index.php #
[php]
<?
include(strona.php);
?>
<title>
<? echo$tytul; ?>
</title>
Moja strona:
<? echo$tresc_strony; ?>
[/php]
Prawdopodonie w pliku strona.php miałeś funkcje echo.
Jak to Ci nie pomogło, to podaj kod pliku strona.php.
Re: [php]Zastepstwo dla include lub require
dobrym sposobem jest tez rozdzielenie szablonu strony od pozostałych elementów np. w taki sposób.
index.php
i np. strony kontaktowej
kontakt.php
i na koniec moduł składający stronę z kawałków
buduj_strone.php
W ten sposób mając stały szkielet strony, tworzenie kolejnych podstron polega tylko na utworzeniu małych pliczków o nazwie odpowiadającaj nazwie strony zawierających tablice z elementami które mają się pokaza + zmiennymi takimi jak np. tytuł
index.php
Kod: Zaznacz cały
<?
$tytul='strona główna';
$lewa_kolumna=array('reklamy.inc','logowanie.inc','szukaj.inc');
$glowna_kolumna=array('strona_glowna.inc');
// wywolanie modulu do scalania strony
include('buduj_strone.php');
?>
kontakt.php
Kod: Zaznacz cały
<?
$tytul='kontakt z autorem';
$lewa_kolumna=array('reklamy.inc','mapka.inc','telefony.inc');
$glowna_kolumna=array('strona_kontakt.inc');
// wywolanie modulu do scalania strony
include('buduj_strone.php');
?>
buduj_strone.php
Kod: Zaznacz cały
<html>
<head><title><? echo $tytul; ?></title></head>
<body>
<table><tr>
<td>
<?
// lewa kolumna
foreach($lewa_kolumna as $value)
{
include($value);
}
?>
</td>
<td>
<?
// glowna kolumna
foreach($glowna_kolumna as $value)
{
include($value);
}
?>
</td>
<tr><table>
</body>
</html>
Re: [php]Zastepstwo dla include lub require
dodatkowo zamiast:
[php]
<? echo $tytul; ?>
[/php]
mozna dac:
[php]
<?= $tytul ?>
[/php]
ale jest to zabieg czysto kosmetyczny mimo to poprawia nieco czytelnosc kodu i skraca czas pisania szczegolnie, jesli wstawiamy tak duzo zmiennych.
pozdrawiam.
[php]
<? echo $tytul; ?>
[/php]
mozna dac:
[php]
<?= $tytul ?>
[/php]
ale jest to zabieg czysto kosmetyczny mimo to poprawia nieco czytelnosc kodu i skraca czas pisania szczegolnie, jesli wstawiamy tak duzo zmiennych.
pozdrawiam.
Re: [php]Zastepstwo dla include lub require
[php]
<html>
<head>
<title> {tu powinien byc tytul, ze strony ponizej, ale skrypt nie zna zmiennej $tytul} </title>
</head>
<body>
<? include('menu.php'); ?>
<center>
<table width=790><tr><td>
<? include('strona.php'); ?>
</td></tr></table>
</body>
</html>
[/php]
natomiast tresc pliku strona.php to tylko
[php]
<? $title="To jest tytul"; ?>
bla bla bla {czyli reszta w zwyklym htmlu}
[/php]
hm, moze to po prostu sposob na tworzenie szablonu i bede go musial zmienic...
<html>
<head>
<title> {tu powinien byc tytul, ze strony ponizej, ale skrypt nie zna zmiennej $tytul} </title>
</head>
<body>
<? include('menu.php'); ?>
<center>
<table width=790><tr><td>
<? include('strona.php'); ?>
</td></tr></table>
</body>
</html>
[/php]
natomiast tresc pliku strona.php to tylko
[php]
<? $title="To jest tytul"; ?>
bla bla bla {czyli reszta w zwyklym htmlu}
[/php]
hm, moze to po prostu sposob na tworzenie szablonu i bede go musial zmienic...

