Autor Zpráva
Martin011
Profil
Ahoj, mám menu v php. Co mám udělat, aby se mi ten aktivní odkaz zobrazil v tabulce? Jaký styl mám vložit? Třeba jako na http://polopate.jakpsatweb.cz nebo na zmiňované stránce http://www.morava-vino.cz/ a potom, jestli má být jedná stránka s index.php - a v ní tento kód + všechny ostatní věci, anebo samostatná stránka index.php, a ostaní věci do jiné stránky.

<?php
include ("head.php");
include ("menu.php");
$stranka = $_GET['str'];
if (!isset($_GET['str'])) {
$stranka = "uvod";
} else {
$stranka = $_GET['str'];
}
$soubor = "soubory/".$stranka.".php";
if (!file_exists($soubor)) {
$soubor = "soubory/uvod.php";
}
include ($soubor);
?>

Předem díky za pomoc.
kletely
Profil
Martin011

Myslíš niečo ako toto?

BTW: Čo to má s PHP?
Martin011
Profil
jj, + zvýraznění aktivní položky v php+ odkaz s a: href
takhle, mám index.php, když kliknu na odkaz zobrazí se mi obsah v dané stránce tak, jak má, ale já to menu chci strčit do tabulky a aby se v tabulce zobrazila aktivní položka
Martin011
Profil
viz: http://polopate.jakpsatweb.cz/ - menu s aktivní položkou
Martin011
Profil
a v menu.php mám tenhle kód: asi to bude jenom v css, ale jaký kód do stylu mám vložit?

menu.php

<?php
echo "<ul>";
echo "<li";
if ($str=="o-mne") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=o-mne'>o mně</a></li>";
echo "<li";
if ($str=="o-webu") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=o-webu'>o webu</a></li>";
echo "<li";
if ($str=="zaj") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=zaj'>zajímavosti</a></li>";
echo "<li";
if ($str=="diskuse") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=diskuse'>diskusní fórum</a></li>";
echo "<li";
if ($str=="chat") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=chat'>on-line chat</a></li>";
echo "<li";
if ($str=="nav") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=nav'>návštěvní kniha</a></li>";

"</ul>";
?>
Martin011
Profil
to je jedna věc, a za druhé, jestli ten kód (index.php) mám vložit do stejné stránky, která se tak jmenuje, takže v té stránce mám všechny skripty, protože když to z index.php oddělám, nezobrazí se mi obsah daného odkazu

index.php

<?php
include ("head.php");
include ("menu.php");
$stranka = $_GET['str'];
if (!isset($_GET['str'])) {
$stranka = "uvod";
} else {
$stranka = $_GET['str'];
}
$soubor = "soubory/".$stranka.".php";
if (!file_exists($soubor)) {
$soubor = "soubory/uvod.php";
}
include ($soubor);
?>
SwimX
Profil
budeš mít stránku index.php
a v ní tento kód:
<?php
include ("head.php");
include ("menu.php");
$stranka = $_GET['str'];
if (!isset($_GET['str'])) {
$stranka = "uvod";
} else {
$stranka = $_GET['str']; - SMAŽ vždyť to děláš o dvě řádky víš
}

$soubor = "soubory/".$stranka.".php";
if (!file_exists($soubor)) {
$soubor = "soubory/uvod.php";
}
include ($soubor);
?>


a ve stránce menu.php bude:

<?php
echo "<ul>";
echo "<li";
if ($str=="o-mne") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=o-mne'>o mně</a></li>";
echo "<li";
if ($str=="o-webu") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=o-webu'>o webu</a></li>";
echo "<li";
if ($str=="zaj") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=zaj'>zajímavosti</a></li>";
echo "<li";
if ($str=="diskuse") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=diskuse'>diskusní fórum</a></li>";
echo "<li";
if ($str=="chat") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=chat'>on-line chat</a></li>";
echo "<li";
if ($str=="nav") {
echo " class='aktivni'";
}
echo "><a href='index.php?str=nav'>návštěvní kniha</a></li>";

"</ul>";
?>


a v css souboru:

ul li a{ vlastnosti všech položek meni}
ul li a .aktivni{vlastnosti aktivní položky}
SwimX
Profil
nebo můžeš mít jenom soubor index.php
a to co je v souboru menu.php dát do index.php na správné místo, to je jedno, protože include menu.php nedělá nic jiného, mež že přepíše obsah souboru.

Co mám udělat, aby se mi ten aktivní odkaz zobrazil v tabulce?
to není v tabulce. v css je nastaveno přibližně toto:
ul li a{
display: block; // změní řádkový element (odkaz) na blokový
width: šířka;
height: výška;
background: pozadí;
}

ul li a .aktivni{
background: jiné pozadí;
}
Taps
Profil
SwimX
a jak ty to máš třeba vyřešené na webu toho plaveckého oddílu
SwimX
Profil
Taps
žádný php :) to sem eště neuměl.. tam mám jednotlivé stránky a v každé natvrdo napsané
<menu>
<li id="active">
<li>
<li>
</menu>

ale na pokusu o své stránky: http://plavec.borec.cz/ mám php.

jednu stránku: index.php - v ní
.
.
.
<menu>
<?php
if(!isset($_GET['s']) || (isset($_GET['s']) && ($_GET['s'] == "uvod")))
echo "<li id=\"active\">Úvod";
else echo "<li><a href=\"?s=uvod\">Úvod</a>";
if (isset($_GET['s']) && ($_GET['s'] == "ome"))
echo "<li id=\"active\">O mně";
else echo "<li><a href=\"?s=ome\">O mně</a>";
if (isset($_GET['s']) && ($_GET['s'] == "fotky"))
echo "<li id=\"active\">Fotky";
else echo "<li><a href=\"?s=fotky\">Fotky</a>";
if (isset($_GET['s']) && ($_GET['s'] == "reference"))
echo "<li id=\"active\">Reference";
else echo "<li><a href=\"?s=reference\">Reference</a>";
if (isset($_GET['s']) && ($_GET['s'] == "stahuj"))
echo "<li id=\"active\">Ke stažení";
else echo "<li><a href=\"?s=stahuj\">Ke stažení</a>";
if (isset($_GET['s']) && ($_GET['s'] == "kontakt"))
echo "<li id=\"active\">Kontakt";
else echo "<li><a href=\"?s=kontakt\">Kontakt</a>";
?>
</menu>
</div>
<div id="bg">
<div id="page">
<div id="content">
<hr class="invis">
<?php if(isset($_GET['s']) && ($_GET['s'] == "ome" || $_GET['s'] == "fotky" || $_GET['s'] == "reference" || $_GET['s'] == "stahuj" || $_GET['s'] == "kontakt")){
include $_GET['s'].".txt";
echo "</div>";
}
else if(!isset($_GET['s']) || (isset($_GET['s']) && $_GET['s'] == "uvod") )
include "uvod.txt";
else{
include "chyba.txt";
echo "</div>";
}
?>

.
.
.
SwimX
Profil
a když teď na to koukám, tak sem to musel psát někdy v noci :D
viz (isset($_GET['s']) && ($_GET['s'] == "uvod") atd..
Taps
Profil
SwimX
a nebylo by lepší použít for nebo switch ?
SwimX
Profil
Taps
switch bych chápal, ale jak for?
Martin011
Profil
Díky za pomoc, ale pořád se mi nechce zvýraznit aktivní položka, ve stylu.css mám :

#menu ul li a { display: block; width: šířka; height: výška; background: #deb887; text-
decoration:none; }

#menu ul li a .aktivni{ background:#FFCC66; }

#menu ul li a:hover, #menu ul li a.aktivni {
background-color:#FFCC66;
color:black;
}

šlo by k tomuto kódu přidat td? Aby byl display block v tabulce, protože mně to nějak nereaguje, pořád se mi vykreslují normalní odkazy s pozadím, s a:hover, ale aktivní položka se mi nechce zvýraznit.
a v té index.php - má být jak php soubor, tak i nadpisy...?
SwimX
Profil
Martin011
Doufám že „width: šířka; height: výška;“ máš nahrazeno hodnotou v px nebo %.
css vypadají dobře, mělo by to fungovat. Kdyyž tak sem zkus hodit stránku celou.
Martin011
Profil
v index.php mají být veškeré soubory i s nadpisy, horni menu atd, je jedno, kde ho umístím?

já chci, aby v tomhle kódě css, když mám :+ mám tabulku jako menu s a:hover, jestli jde v té tabulce
udělat aktivní odkaz? třeba právě jak na http://polopate.jakpsatweb.cz
mně se automaticky inkluduje menu do stránky index.php, když ho dám na server, mám to zatím u sebe na localhostu, s tím, jak jste mi radil se souborem css, mi jde jenom pozadí, plus a:hover, který jsem si nastavil, ale pořád se nezobrazuje aktivní položka, v tom index.php, jsem to smazal, co jste mi říkal a šírku a výšku mám v px, nevim kde je problém?

<table border="1" style="border-collapse: collapse">
td a { width: 100%; height: 100%; text-align: center; background-color: #f0e68c; display: block }
td a:hover { background-color: #cd853f}
a:link, a:visited {text-decoration: none}

Mají tam být i ostatní soubory v souboru index.php?

kód menu v index.php je: <table border="1" style="border-collapse: collapse">
<tr><td width="160px"><h3>Menu</h3></td></tr></table>

<table border="1" style="border-collapse: collapse">
<br><br>

<ul>
<tr><td width="160px"><li><a href='index.php?str=o-mne'><font color="black">o mně</a></li></td></tr>
<tr><td width="160px"><li><a href='index.php?str=o-webu'><font color="black">o webu</a></li></td></tr>
<tr><td width="160px"><li><a href='index.php?str=nav'><font color="black">návštěvní kniha</a></li></td></tr>
<tr><td width="160px"><li><a href='index.php?str=zaj'><font color="black">zajímavosti</a></li></td></tr>
<tr><td width="160px"><li><a href='index.php?str=diskuse'><font color="black">diskusní fórum</a></li></td></tr>
<tr><td width="160px"><li><a href='index.php?str=chat'><font color="black">on-line chat</a></li></td></tr>
</ul>
</table>
Martin011
Profil
Můžete to někdo postupně se mnou probrat návod na aktivní položku, krok po kroku?

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: