Autor | Zpráva | ||
---|---|---|---|
brnak1981 Profil * |
#1 · Zasláno: 19. 2. 2011, 15:37:05
Ahoj, konecne se mi povedlo dvouurovnove menu asi moc slozite zbytecne ale funguje bezchybne a ja mam radost. Jedinej problem je ze kdyz nekdo dojde na stranky neni aktivni ani hlavni menu a tim padem dokud neklikne na jime zdrave nebo prakticke tak se mu ani neukazou podmenu. Chtel bych aby kdyz nekdo najede na stranky bylo v hlavnim menu zapnute jime zdrave a v jeho podmeu uvod-jime-zdrave. Kdyz to prokliknu ja sam vse funguje naprosto bezchybne, jde mi jen a nastaveni aktivnich polezok menu pri startu stranky, aby se proste uzivateli zobrazila nejaka stranka , jako ze uz si vybral z hlavniho menu i podmenu:
Stranky bohuzel nemam na webu a mam to dost rozpadle, hlavne mi jde oto jak zapsat podminku. !!elseif($menu=="jime-zdrave") {include "menu1.php";} {$stranka1 == "uvod-praktické";} !! jde to nejak zapsat? ze pokud stisknu v hlavnim menu jime zdrave, ma zaroven aktivovat zalozku s tranku podmenu uvod-jime-zdrave?? <? $menu = $_GET["menu"]; if($menu=="jime-zdrave" or $stranka1 ) {include "menu1.php" ;} elseif($menu=="jime-zdrave") {include "menu1.php";} {$stranka1 == "uvod-praktické";} if($menu=="prakticke" or $stranka2 ) {include "menu2.php";} elseif($menu=="prakticke") {include "menu2.php" ; $stranka2 == "uvod-praktické";} ?> <? $stranka1 = $_GET["stranka1"]; if ($stranka1 == "uvod-jime-zdrave") {include "txt/uvod-jime-zdrave.txt";} elseif ($stranka1 == "slozky-potravy") {include "txt/slozky-potravy.txt";} ?> <? $stranka2 = $_GET["stranka2"]; if ($stranka2 == "uvod-prakticke") {include "txt/uvod-prakticke.txt";} elseif ($stranka2 == "rozvoz-jidel") {include "txt/rozvoz-jidel.txt";} ?> |
||
Chamurappi Profil |
#2 · Zasláno: 19. 2. 2011, 15:47:52 · Upravil/a: Chamurappi
Brr, tohle se nedá číst. Piš prosím s diakritikou a interpunkcí, delší text děl do odstavců, krom porušování pravidel děláš ostudu všem třicetiletým brnakům :-)
Z dotazu jsem četl jen kousíček, ale ten zdroják není javascriptový. Opravdu tvá otázka patří do kategorie JavaScript? |
||
Tori Profil |
#3 · Zasláno: 19. 2. 2011, 16:09:08
brnak1981:
Co tam includujete z těch "menux.php"? Fragmenty menu? Ukažte, prosím. Ty podmínky na řádcích 9-10, 13-14 se mi taky velmi nezdají - do větve elseif se myslím nemůžete nikdy dostat. |
||
brnak1981 Profil * |
Moderátor Davex: Přesunuto z Problémy s proměnnými.
Ahoj, konečně se mi povedlo dvouúrovňové menu asi zbytečne moc složitě ale funguje bezchybně a já mám radost. Jedinej problém je, že když někdo navštíví stránky není aktivní žádná položka hlavního menu a proto se nenačte ani žádné odpovídající podmenu a neaktivuje se žádná stránka. Nevíte prosím někdo jak by se to dalo zařídít. Jak vidíte tak jsem se už pokoušel ale dost nešikovně dát do podmínky aktivaci proměnné stranka1. Totožný výpis kódu jako v [#1] odstraněn moderátorem. Moderátor Davex: Nelez prosím do cizích témat a zůstaň si ve svém php- aktivace promene podminkou.
|
||
brnak1981 Profil * |
#5 · Zasláno: 19. 2. 2011, 16:30:28
Ano, menu1 a menu2 jsou soubory se seznamy. Jedná se o podmenu. Problém je určitě v té podmínce, vůbec nevím jestli je možné v podmínce menu chtít stranku1 nebo stranku2
|
||
Tori Profil |
#6 · Zasláno: 19. 2. 2011, 16:48:33 · Upravil/a: Tori
„když někdo navštíví stránky není aktivní žádná položka hlavního menu a proto se nenačte ani žádné odpovídající podmenu a neaktivuje se žádná stránka“
Definujte si nějaké výchozí hodnoty pro případ, že v GET[menu] nebude nic zadané: $menu = isset($_GET['menu']) ? $_GET['menu'] : 'uvod-prakticke'; $stranka1 = isset($_GET["stranka1"]) ? $_GET['stranka1'] : 'uvod-jime-zdrave'; // atd... edit:Na řádcích 10 + 14 máte asi rovnítko navíc u posledního příkazu. |
||
brnak1981 Profil * |
#7 · Zasláno: 19. 2. 2011, 17:44:34
Ano správně, stránka1 a stranka2 jsou podmenu pro první a druhou položku. Zkouším to nějak zapošít ale nedaří se mi . Pochopil jsem to tak že mi stačí vyměnit ty první řádky 7,21,30 ,správně?Tam přijde ta podmínka doporučená podmínka?
|
||
brnak1981 Profil * |
#8 · Zasláno: 19. 2. 2011, 18:09:12
Teďka mi příkaz sice funguje ale když kliknu v druhém podmenu na nějako položku tak se stane jen to že se mi na místo toho správného druhého podmenu objeví první podmenu. Takže se zlepšilo co jsem chtěl, ne uplně ale zase ubyla funkčnost :-)). Achjo
|
||
brnak1981 Profil * |
#9 · Zasláno: 19. 2. 2011, 18:16:35
Tak tedka koukám že to úplně neřeší ani první problém, protože se neprobarvi ativní položky podmenu,jaky kdybych na ně kliknul normálně, jen se vloží správná stránky ale odpovídající záložka se tváří jako bych na té stránce nebyl :-( . Boha vysvoboďte mě prosím
|
||
Tori Profil |
#10 · Zasláno: 19. 2. 2011, 18:24:41
Ukažte ty includy (a html hlavního menu nejlépe také).
|
||
brnak1981 Profil * |
#11 · Zasláno: 19. 2. 2011, 18:36:13
<style type="text/css"> a.x {text-decoration: none;padding: 2px 8px 0px 8px ; font-weight: bold;} a:link.x {background-color: #8fbc8b; color: black;} a:visited.x {background-color: #8fbc8b; color: black;} a:active.x {background-color: #fffff0; color: black;} a:hover.x {background-color: #fffff0; color: black;} #aktivni {background-color: #fffff0; color: black;padding:} li { float: left; margin: 0 .5em; list-style: none; border: solid black 1px; border-bottom: none; } </style> <body> <div style="position: fixed; width: 100%; height: 120px; top: 0px;left: 150px;background-color:#8fbc8b;"> <div style="position: fixed; width:100%px; top: 0px; left: 150px;" ><a href="?menu=jime-zdrave"><img border="0" src="img/jime-zdrave.jpg";></a> </div> <div style="position: fixed; width:100%px; top: 0px; left: 280px;" ><a href="?menu=prakticke"><img border="0" src="img/prakticke.jpg";></a></div> <div style="position: fixed; width: 100%; height: 39px; top: 85px ;left: 150px;background-color:green;"> <? $menu = $_GET["menu"]; if($menu=="jime-zdrave" or $stranka1 ) {include "menu1.php" ;} elseif($menu=="prakticke" or $stranka2 ) {include "menu2.php";} ?> </div> </div> <div style="position: fixed; width: 150px; height: 100%; top: 0px; left: 0px;background-color:#8fbc8b;" ></div> <div style="position: fixed; width: 130px; height: 100%; top: 0px; right: 0px;background-color:#8fbc8b;" ></div> <div style="padding: 130px 140px 0px 180px;background-color:#fffff0;" > <? $stranka1 = $_GET["stranka1"]; if ($stranka1 == "uvod-jime-zdrave") {include "txt/uvod-jime-zdrave.txt";} elseif ($stranka1 == "slozky-potravy") {include "txt/slozky-potravy.txt";} ?> <? $stranka2 = $_GET["stranka2"] ; if ($stranka2 == "uvod-prakticke") {include "txt/uvod-prakticke.txt";} elseif ($stranka2 == "rozvoz-jidel") {include "txt/rozvoz-jidel.txt";} ?> </div> </body> </html> |
||
brnak1981 Profil * |
#12 · Zasláno: 19. 2. 2011, 18:37:07
a includuju treba menu1:
<ul> <li><a href="?stranka1=uvod-jime-zdrave" class="x" style="display:block"<?php if($stranka1=="uvod-jime-zdrave") echo "id='aktivni'" ?> >ÚVOD</a></li> <li><a href="?stranka1=slozky-potravy" class="x" style="display:block"<?php if($stranka1=="slozky-potravy") echo "id='aktivni'" ?> >SLOZKY POTRAVY</a></li> </ul> |
||
panther Profil |
#13 · Zasláno: 19. 2. 2011, 18:44:21
brnak1981:
nechce se mi to procházet celé, ale kde bereš v souboru menu1.php proměnnou $stranka1? |
||
brnak1981 Profil * |
#14 · Zasláno: 19. 2. 2011, 19:08:37
tady si myslim
<a href="?stranka1=uvod-jime-zdrave" class="x" style="display:block"<?php if($stranka1=="uvod-jime-zdrave") echo "id='aktivni'" ?> >ÚVOD</a> to by snad melo byt ok, akorat ze furt nevim co stim dal :-( |
||
Tori Profil |
#15 · Zasláno: 19. 2. 2011, 19:29:57
brnak1981:
Ale vycházím-li z [#11], menu1.php includujete na řádku 45, a $stranka1 je definovaná teprve na ř.61. Nejdřív bych tedy dala zjištění všech proměnných z GETu (nebo nastavení výchozích hodnot), pak teprve podmínky a includy. (omlouvám se, s lepší radou dnes nepřijdu.) |
||
brnak1981 Profil * |
#16 · Zasláno: 19. 2. 2011, 21:13:58
To uz jsem zkousel ale presto diky
|
||
Časová prodleva: 6 dní
|
|||
Tori Profil |
#17 · Zasláno: 25. 2. 2011, 10:41:43 · Upravil/a: Tori
Dala jsem tak narychlo cosi dohromady - funguje to jak chcete, ale v kódu je smíchané php s html a nevypadá to moc pěkně, spíš jen jako nápad (nikoli nejlepší), jak by se to dalo řešit.
Celá struktura menu a stránek je uložená v poli. Nejdřív se zjistí, jestli byla zvolená nějaká položka menu. Pokud ne, tak se buď nastaví podle zvolené stránky, anebo výchozí hodnota. Podobně stránka - pokud nebyla zadaná anebo se nenajde v poli, použije se výchozí pro (už nastavenou) položku menu. Záložky s jednotlivými stránkami (původní soubory menu1, menu2) se generují z pole. Vrchní menu je ještě napevno v html, ale taky by šlo po menších úpravách generovat z pole (bylo by to flexibilnější). Odkaz. Ad ↓: Nezasloužená chvála, zas tolik času to nebylo. Posledně jsem se na něčem zasekla a dnes mě náhodou napadlo, jak to udělat. Profík nejsem (jak z kódu vidno), panther a jiní by to udělali rychleji i lépe, tohle je takové narychlo splácané. |
||
brnak1981 Profil * |
#18 · Zasláno: 25. 2. 2011, 11:22:13
Děkuju moc, takle jsem si to přestavoval , teď už jen pochopit jak funguje pole a modifikova to ale když už vím jak nato tak je to super, moc děkuju. Jsem tu novy a je to to zajímavá komunita. To funguje na principu vzájemné pomoci? Chci říci někteří tu evidentně ví více než jiní, proč jsou tak dobrosrdeční?Jde o udržení návštěvnosti stránek aby se na ně dala umístit reklama za peníze?Chci tím říct že to Tori určitě zabralo nějaký čas, z čeho žiješ jestli se mohu zeptat? Pokud je ten dotaz nevhodný tak se omlouám a neodpovídejte a ještě jednou díky.
|
||
panther Profil |
#19 · Zasláno: 25. 2. 2011, 11:30:52
brnak1981:
„Chci říci někteří tu evidentně ví více než jiní, proč jsou tak dobrosrdeční?“ třeba pro dobrý pocit. Některým tu bylo ze začátku dobře porazeno, tak teď radí ostatním. Pokud tu zůstaneš, načerpáš nějaké znalosti a budeš pomáhat ostatním, budeme jen rádi. |
||
brnak1981 Profil * |
#20 · Zasláno: 25. 2. 2011, 11:39:00
Aha , díky za odpověď ale do ostatních mi teda chybí pořádný kus práce. Asi je tu hodně prfíků co se tím živí že?
|
||
panther Profil |
#21 · Zasláno: 25. 2. 2011, 11:46:48
brnak1981:
ano, i tací, co se tímto oborem živí, tu pomáhají. |
||
brnak1981 Profil * |
#22 · Zasláno: 25. 2. 2011, 15:05:13
Tori:
Ahoj, tak už to modifikuju a snažím se vtom zorientovat, docela to jde ale když vkladám stránky tak zo nezvládá češtinu. To vidím poprvé,dá se stím něco dělat? |
||
panther Profil |
#23 · Zasláno: 25. 2. 2011, 15:18:32
brnak1981:
máš špatně nastavené kódování. Musí být stejné v souboru, i ve stránce samotné, příp. i v DB, pokud bys jí využíval. |
||
brnak1981 Profil * |
#24 · Zasláno: 25. 2. 2011, 17:58:00
zkoušel jsem všechny tři způsoby kódování ale pořád nic. Myslim že když všechny stránky includuju do jednoho souboru index.php tak stačí uvést kédování jen tam ne?
|
||
Tori Profil |
#25 · Zasláno: 25. 2. 2011, 18:09:13 · Upravil/a: Tori
brnak1981:
Nedala jsem do html tag <meta>: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <?php header("Content-Type: text/html; charset=UTF-8"); ?> <html>..... |
||
panther Profil |
#26 · Zasláno: 25. 2. 2011, 18:10:59
brnak1981:
kódování v hlavičce uvádíš jen jednou, právě v indexu. Teď ale musíš mít v témže kódování uloženy fyzicky i soubory - jak index, tak ten, který includuješ. Nastavit kódování souboru, resp. uložit soubor v daném kódování by ti měl umožnist tvůj editor, kde píšeš (často se tu zveřejňuje třeba PSPad, ten má tuto volbu pod záložkou Formát). |
||
brnak1981 Profil * |
#27 · Zasláno: 25. 2. 2011, 18:19:15
aha, ja to pisu v poznamkovem bloku :-). Taky me napadlo jestli to neni verzi Apatche treba?
|
||
Časová prodleva: 13 let
|
0