Autor | Zpráva | ||
---|---|---|---|
tony2 Profil |
#1 · Zasláno: 2. 7. 2009, 08:36:52
Zdravím snažil jsem se napsat zdroják na měnění designu stránek tím že se tam nahraje jiný stylesheet.
Ale nefunguje.Nejsem si jistý pár věcmi:Jestli PHP mužu narvat do hlavičky,nemužu si vzpomenout na to nahravaní stylesheetu pomocí import protože to by asi šlo líp než echo "<link rel="stylesheet" href="modra.css" type="text/css">"; <html> <head> <? $modra = $_POST['modra']; $zelena = $_POST['zelena']; switch ($design) { case $modra: echo "<link rel="stylesheet" href="modra.css" type="text/css">"; case $zelena: echo "<link rel="stylesheet" href="zelena.css" type="text/css">"; } ?> </head> <body> <form action="index.php" method="post"> <table> <tr><td> <select value="design"> <option value="zelena">Zelená </option> <option value="modra">Modrá </option> </select></td> </tr> <tr><td> <button type="submit">Potvrdit </button> </tr></td> </table> </form> </body> </html> |
||
Nox Profil |
#2 · Zasláno: 2. 7. 2009, 09:19:48
tony2
PHP můžeš dát kamkoliv <? => <?php Když nebude definovaná některá z těch proměnných post, tak se může (dle nastaveného reportingu) zapsat chybové hlášení do patičky, což asi není zrovna hezké...otestuj konstruktem isset I tvůj editor by ti snad měl jasně označit, že nemůžeš dát uvozovky bez escapování do řetězce ohraničeného uvozovkami Takže buď předělej vnitřní " na \", nebo hezčeji přepiš vnější " na ' toto by šlo i dát třeba <html> <head> <link rel="stylesheet" href="<?php if( isset($_POST["modra"]) ){ echo "modra"; } elseif( isset($_POST["zelena"]) ){ echo "zelena"; } else{ echo "neco"; // název výchozího nebo aktuálního stylu } ?>.css" type="text/css"> Zde je navíc ošetřená další tvý chyba a to, že když nebyl odeslán formulář, tak se nepřilinkuje vůbec žádný styl (při tvé struktuře by to hezky řešila větev default: ) Navíc musíš výběr někam uložit, protože při obnovení už bude zase post prázdný a nepřilinkoval by se vybraný |
||
tony2 Profil |
#3 · Zasláno: 2. 7. 2009, 09:38:07
Počkat takže jestli chapu
<link rel="stylesheet" href="<?php if( isset($_POST["modra"]) ){ echo "modra"; //Tak tohle je ta modra to jeste chapu } elseif( isset($_POST["zelena"]) ){ echo "zelena"; //toto asi taky chapu } else{ //tohle ale nechapu proč je tu if,elseif,else? echo "neco"; // název výchozího nebo aktuálního stylu } ?>.css" type="text/css"> |
||
tony2 Profil |
#4 · Zasláno: 2. 7. 2009, 09:38:51 · Upravil/a: tony2
A jak bych to měl uložit?A toho else if tam mužu napsat kolik chci?Jo a ještě teď to zkouším ale to co je napsano v Elseif nefunguje.výchozí jsem nastavil modrou a zelenou mi to nechce nahrat.
|
||
tony2 Profil |
#5 · Zasláno: 2. 7. 2009, 09:44:31
A toho elseif tam mužu napsat kolik chci?Jo a ještě teď to zkouším ale to co je napsano v Elseif nefunguje.výchozí jsem nastavil modrou a zelenou mi to nechce nahrat.
sorry za 3 příspěvky ale nějak mi blbne edit |
||
panther Profil |
#6 · Zasláno: 2. 7. 2009, 11:23:24
tony2
„tohle ale nechapu proč je tu if,elseif,else? “ if .. elseif .. elseif .. else Pokud bude splněna podmínka v „if“, vypíše se „modrá“ a tím to končí. Pokud nebude splněna podmínka v „if“, přijde na řadu první „elseif“. Pokud bude splněna tato podmínka, vypíše se „zelená“. Pokud nebude splněna podmínka v „if“ ani v žádném z „elseif“ (může jich tedy být více), vypíše se „něco“ |
||
tony2 Profil |
#7 · Zasláno: 2. 7. 2009, 11:52:20
Jo tak tohle mám spravně ale nefunguje to
|
||
panther Profil |
#8 · Zasláno: 2. 7. 2009, 11:53:39
tony2
„ale nefunguje to“ tak je to asi rozbitý. |
||
tony2 Profil |
#9 · Zasláno: 2. 7. 2009, 13:34:21
chcete ten zdrojak?Jo a jak bych měl udělat aby si to ten design zapamatovalo
|
||
tony2 Profil |
#10 · Zasláno: 2. 7. 2009, 18:14:21
Co v tom mám teda špatně?
|
||
tony2 Profil |
#11 · Zasláno: 3. 7. 2009, 16:20:32
Jak nastavit to ukládání?
|
||
4li3n Profil |
#12 · Zasláno: 3. 7. 2009, 16:48:10
Musis to ulozit nekam, kde to zustane (normalni promenna v php to urcite nebude :-)) moznosti mas vice, cookies, sessions
|
||
tony2 Profil |
#13 · Zasláno: 3. 7. 2009, 18:17:36
aha a nějak přiblížit bys to nemohl?
|
||
Ofi Profil |
#14 · Zasláno: 4. 7. 2009, 14:06:26
elseif: pokud jsem psal elseif - tak mi to taky nefungovalo - z vlastní zkušenosti: piš "else if() {}" čili mezeru mezi else a if...
sessions: http://jary.borec.cz/prog/sessions.php http://php.vrana.cz/zabezpeceni-session-promennych.php mrkni na to a pochopíš :) |
||
Časová prodleva: 15 let
|
0