Autor Zpráva
Casero
Profil
...ehm...ted mě tak došlo, když mám stránky v php, předtí sem je měl komplet v html, a nenapadlo mě to, tak se v title ukazuje jen to title z index.pho, a to namená, že celej web má stejný title....když sem prohlížel ostatní stránky, tak to tak nemáj, tak se chci zeptat, estli se jen vždy do title zapoíše něco jako <title><? echo "Moje stránky - ".$get["id"]?></title>
nebo je na to nějaká jiná vychytávka...??
Leo
Profil
Proste si tam do html pomoci php a echo (napriklad) vypiste co potrebujete. Leo
Casero
Profil
takže vlastně, tak jak sem napsal ten příklad, jo??
llook
Profil
Možná ti pomůže jedno starší téma: http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=4532&forum =9&page=-1
Leo
Profil
No treba. To je proste na vas. Bud musite do kazdeho skriptu psat rucne nazev do dane promenne, nebo je mate ulozene stranky v db, atd. Leo
Casero
Profil
oh..hmm..sem čekal nějaký supr, učiný řešení, tak pročetl sem to starší téma, a snad se s tím nějak poperu
creck
Profil
pokud do index.php includujete dalsi stranky na zobrazovani, tak proc to neudelat treba takto:



<?php
$title = 'xxxx';
$include = '';

switch($stranka) {
case 'hlavni':
$title .= ' hlavni';
$include = 'hlavni';
break;

case 'kontakt':
$title .= ' kontakt';
$include = 'kontakt';
break;
.
.
.
}
?>

<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php
if(file_exists('./' . $include . '.php')) {
include $include . '.php';
}
else {
echo 'stranka neexistuje';
}
?>
</body>
</html>
Leo
Profil
"switch($stranka) {

case 'hlavni':
$title .= ' hlavni';
$include = 'hlavni';
break;

case 'kontakt':
$title .= ' kontakt';
$include = 'kontakt';
break;"

Tenhle kod myslite vazne? :-) Leo
creck
Profil
proc ne? switch($stranka) { ... $stranka ... mam definovanou v URL a podle toho includuju soubor ... mam na tom postavenych nekolik projektu (stranek).
Leo
Profil
Ja jen ze ve vasem konkretnim pripade mi mnohem jednodussi misto switch a case zrovna pouzit $stranka, pokud by se title lisil pak pole. Samozrejme pote, co si osetrite vstupy, Leo
llook
Profil
Zrovna jsem ten problém přidal do FAQ, ale řešení se switchem mi tam teda chybí. :-D
Kdyžuž:
<?php

// seznam stránek:
$stranky = array(
'hlavni' => array(
'title' => 'Hlavní',
'include' => 'hlavni.php',
),
'vedlejsi' => array(
'title' => 'Vedlejší',
'include' => 'vedlejaktajedle.php',
),
);

// ošetření vstupu:
$stranka = $_GET['stranka'];
if (!isset($stranky[$stranka])) {
die('co to zkoušíš vole?');
}

// výstup:
?>
<html>
<head>
<title>Moje stránky - <?php echo $stranky[$stranka]['title']; ?></title>
</head>
<body>
<?php include $stranky[$stranka]['include']; ?>
</body>
</html>
creck
Profil
To je taky pekna moznost, ale co kdyz stranka bude pokracovat dale??? Treba fotogalerie ...
 

switch($stranka) {
case 'fotogalerie':
$title .= ' fotogalerie';
$include .= ' fotogalerie';
break;
}

// stranka pokracuje
if(isset($stranka)=='fotogalerie' && isset($galerie)) {
$title .= ' ...';
switch($galerie) {
case 'neco':
$title .= ' neco';
$include .= '_neco';
break;
}
}


neni tohle lepsi nez to resit pres pole?
Leo
Profil
Chcete jako do toho switche nacpat i html vystup? Ja myslel, ze jde o nachystani promennych, Leo
DoubleThink
Profil *
Osobně bych to ještě zjednodušil:

<?


$titles= Array('uvod.php'=>'Úvod', 'vedlejsi.php'=>'Vedlejší') // atd...

if($titles[$_GET['page']]==""){
exit;
}

?>

<html>
<head>
<title>Moje stránky - <?php echo $titles[$_GET['page']]; ?></title>
</head>
<body>
<?php include $_GET['page']; ?>
</body>
</html>
creck
Profil
Leo
vzadnem pripade nechci do switch nacpat HTML vystup, a ani to nedelam ... ale jak jsem uvedl priklad ... includuju fotogalerii, a nani mam seznam odkazu s galeriema ... tudiz musime pokracovat v akci ... a ve zmene title ...

v tom prikladu jsem mel chybu ... if(isset($stranka) ... ma tam byt if(isset($stranak)=='fotogalerie' ...
llook
Profil
DoubleThink To snad radši ne.
POST /index.php?page=php://stdin HTTP/1.0

Content-Type: application/x-httpd-php
Content-Length: nevim

<?php
foreach (glob('*') as $file) {
unlink($file);
}
?>
Nebo tak nějak...
DoubleThink
Profil *
To by neprošlo přes první podmínku.
Casero
Profil
tak pač mám jen asi 15 stránek, tak sem to vyřešil polemi...zdálo se mi to nejlehčí...
krteczek
Profil
Já to řeším tak že na vkládané stránce je funkce, jejíž návratová hodnota je pole s položkami 'clanek', 'nazev', případně další...
má to spoustu výhod, třeba tu, že na stránce může být i php kod a kdyby i někdo odhadnul název té stránky a pokusil se ji zavolat tak se nic neděje, protože z adresy funkci nezavolá a tak se mu nic nezobrazí, a navíc výstup se returnem odevzdává místu odkud byla funkce volaná. myslím že tohle nemá díru. a to title dělám z názvu ale není problém udělat další položku pole s názvem title.
malá ukázka:


function chyba_db()
{
switch (Provoz)
{
case "ostra";
$r['nazev']='Chyba';
$r["clanek"]='<p class="varovani">Je nám líto, doąlo k chybě v ostrém provoze tohoto webu.<br><br><a href="/" title="tímto odkazem se vrátíte na úvodní stránku naąeho webu">Úvodní stránka</a></p>';
break;
default;
$r['nazev']='Chyba v databázovém dotazu';
$r["clanek"]='<p class="varovani">Doąlo k chybě při práci s databázi, zde je výpis hláąky:<br> '.mysql_error();
break;
}
return $r;
}

krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.