Autor Zpráva
tony2
Profil
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">";
A ještě nějaké chyby tam budu mít.



<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
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
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
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
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
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
Jo tak tohle mám spravně ale nefunguje to
panther
Profil
tony2
ale nefunguje to
tak je to asi rozbitý.
tony2
Profil
chcete ten zdrojak?Jo a jak bych měl udělat aby si to ten design zapamatovalo
tony2
Profil
Co v tom mám teda špatně?
tony2
Profil
Jak nastavit to ukládání?
4li3n
Profil
Musis to ulozit nekam, kde to zustane (normalni promenna v php to urcite nebude :-)) moznosti mas vice, cookies, sessions
tony2
Profil
aha a nějak přiblížit bys to nemohl?
Ofi
Profil
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íš :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: