Autor Zpráva
krutas
Profil *
Zdravím všetky,
poradíte mi, jak na různé title? Potřebuji, aby se mi procházením mého webu měnilo title, dle toho na jaké budu strance. dík
Tasartir
Profil
krutas
na obecnou otázku se pokusím o obecnou odpověď. Dáš pokaždé do <title></title> jiný text. Težko říct jak to uděláš konkrétně, protože nevíme, jak máš web postavenej.

pokud píšeš html ručně - napiš to ručně.
pokud ho skládáš z databáze - dej si do databáze další sloupec kde tu hodnotu mít budeš
djlj
Profil
Já to řeším tak, že neechuju rovnou výstup, ale ukládám si jej do různých proměnných ($head, $title, $body apod.), který na konci skriptu spojím. Titulek vybírám na začátku stránky z databáze (podle toho, jak se položka jmenuje v menu), ale pokud jsem na nějaké podstránce, kde chci třeba jiný titulek, kdykoliv ho můžu změnit jen přepsáním proměnné.
Timy
Profil
A pokud děláš ve framech, tak přestaň dělat ve framech, tam to nejde.
Bubák
Profil
A pokud děláš ve framech, tak přestaň dělat ve framech, tam to nejde.
Jde, javascriptem.

Vyber si:
<body onLoad="top.document.title = document.title;">

nebo nečekat na onload:
<script>top.document.title = document.title;</script>
krutas
Profil *
Nevíte o nějakám scriptě nebo návodu jak na to?
Tasartir
Profil
krutas
Co přesně po nás chceš? Pokud nám řekneš, jak to máš řešený, tak ti samozřejmě poradíme nejlepší způsob jak na to. Ale bez toho ti můžeme poradit jenom velice obecně.
krutas
Profil *
Mám stránky psané pomocí html a v html kódu mám vložené php. Odkazy mezi stránkami webu mám také pomocí php. Jestli to takhle stačí, stránky nemám totiž ještě na netu.
Tasartir
Profil
Hm, pořád chybí dostatek informací pro konkrétní radu, ale už se s tím dá něco dělat. djlj ti to vlastně už řekl. pokud získáváš data z DB, tak to máš vyřešený, jestli includuješ soubor, tak si výraz "databáze" nahraď výrazem "includovaný soubor".
Railbot
Profil
krutas
Jak se takový odkaz dělá pomocí php? A já do dnešního dne myslel, že bez HTML je PHP nic.
krutas
Profil *
Tak jinak, tohle je část kódu, který se týká odkazů.

<span class=hlavni_odkazy_1><a href="?page=a">a</a></span>
<span class=hlavni_odkazy_2><a href="?page=b">b</a></span>


<?php
$page=$_GET["page"];
$dir="";
$uvodni="a.php";
if ($page) {
if (file_exists($dir.$page.".php"))
include($dir.$page.".php");
else { include $dir."404.php"; }
}
else {
include ($dir.$uvodni);
}
?>
Tasartir
Profil
krutas
Opatrne na php injection. Skutečně, použij djljův postup. Pouze s tím rozdílem že jedeš bez DB. Přes include pouze získáš proměnné obsahující dynamické části stránek. Čili soubory $dir.$page.".php" budou vypadat nějak takhle



<?php
$title = "Titulek, který bude pro každou stránku jiný";
$obsah_stranky = "<p>To, co bude obsahem stránky, dříve to býval obsah souboru, který se includoval</p>";
?>


A výsledné html složíš tak, že na patřičná místa dáš
<title><?php echo "$title"; ?></title>

a v těle bude
<?php echo "$obsah_stranky"; ?>
krutas
Profil *
díky moc, vyzkouším a dám vědět jak to fajčí:)
Tasartir
Profil
A doplním odkaz na PHP injection, ber to jako upozornění na možné nebezpečí:

http://www.chapadlo.cz/weblog/clanek/hackerem-sam-sobe-1-php-injection
Bubák
Profil
Klidně můžeš vkládat stejný nadpis H1 a TITLE.
krutas
Profil *
Čau,
tak sem se na to podíval a zkusil tvoje rady. Jenže mi to pořád nefaká. Určitě je to jenom v nějaké prkotině, co sem přehlídl. Mohl by ses na to podívat? www.blbost.borec.cz
Tasartir
Profil
Máš prázdný <title></title>. To je všechno co můžu bez zdroje php vyčíst.. Buď ho napiš rovnou sem, a nebo třeba přejmenuj tu php stránku na txt a dej sem odkaz.
krutas
Profil *
mám index.php

<html>
<head>
<title><?php echo "$title"; ?></title>
</head>
<body>

<!-- hlavní odkazy -->

<span class=hlavni_odkazy_1><a href="?page=a">.:a:.</a></span>
<span class=hlavni_odkazy_2><a href="?page=b">.:b:.</a></span>

<!-- hlavní aktivní plocha -->
<span class="hlavni">
<span class="obsah">
<?php
$page=$_GET["page"];
$dir="";
$uvodni="a.php";
if ($page) {
if (file_exists($dir.$page.".php"))
include($dir.$page.".php");
else { include $dir."404.php"; }
}
else {
include ($dir.$uvodni);
}
?>
</span>
</span>

</body>
</html>
krutas
Profil *
zobrazuju a.php

<html>
<head>
<title>AAAAAA</title>
</head>

<body>
cdfdfdfgsdfd
dff
</body>
</html>


popřípadě b.php

html>
<head>
<title>BBBBBB</title>
</head>

<body>
ttttttttttttttttttt
tttttttt
</body>
</html>
krutas
Profil *
můžeš mi poradit, co kam přesně napsat?
Tasartir
Profil
Dovolím si to přepsat tímhle způsobem:

index.php
<?php
$page=$_GET["page"];
$dir="";
$uvodni="a.php";
if ($page) {
if (file_exists($dir.$page.".php"))
include($dir.$page.".php");
else { include $dir."404.php"; }
}
else {
include ($dir.$uvodni);
}
?>
<html>
<head>
<title><?php echo "$title"; ?></title>
</head>
<body>

<!-- hlavní odkazy -->

<span class=hlavni_odkazy_1><a href="?page=a">.:a:.</a></span>
<span class=hlavni_odkazy_2><a href="?page=b">.:b:.</a></span>

<!-- hlavní aktivní plocha -->
<span class="hlavni">
<span class="obsah">

<?php echo $body; ?> //edit - djlj si všiml překlepu

</span>
</span>

</body>
</html>

a.php
<?php
$title = AAAAAA;

$body = cdfdfdfgsdfd;

?>
krutas
Profil *
Jo díky moc, title se mi mění, ale nefunguje mi <?php echo "$body">. Zkusím tvůj odkaz na článek http://www.chapadlo.cz/weblog/clanek/hackerem-sam-sobe-1-php-injection . zkusím to pomocí case.
djlj
Profil
krutas
Správně to je totiž: <?php echo $body; ?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0