| 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: 17 let
|
|||
0