Autor Zpráva
Hanz
Profil
Mám v formuláři asi 10 přepínačů. A ukládám hodnotu toho přepínače, který byl naposledy zaškrtnut do cookies. A teď potřebuju, aby když načtu tu stránku znovu tak tam byl zaškrtnutý ten přepínač s tou hodnotou z cookies.
Vím jak to udělat, ale zdá se mi to zbytečně složité (moc scriptu).
Takže dotaz zní jak to udělat co nejjednodušeji (málo scriptu) ??
Victorius
Profil
Čemu říkáš málo?
Charlie
Profil
A ukládám hodnotu toho přepínače, který byl naposledy zaškrtnut do cookies.

To znamená, že ukládáš jen jednu hodnotu, asi id přepínače?
Hanz
Profil
Charlie
Ukládám value


Victorius
Aby ten PHP script nebyl delší než script, který zpotřebuješ na jeden formulář (s tím s čím jsem psal výše - u všech inputů je vše nastaveno a u všech jsou popisky cca 8 písmen)
Charlie
Profil
$jmena  = array("prvni","druhy","treti" ... "desaty");

$hodnoty = array("Prvni","Druhy","Treti" ..... "Desaty");

$i=0;
foreach ($jmena as $jmeno) {
printf("<p><input type="radio" name="%s" value="true"%s />%s</p>,$jmeno,(isset($_COOKIE[$jmeno]) ? 'checked="checked"' : ''),$hodnoty[$i]);
$i++;
}

Chtěl jste to jednoduše, snad to bude fungovat.
Kaifman
Profil
jeste trochu kratsi

$jmena = array("prvni","druhy","treti" ... "desaty");

$hodnoty = array("Prvni","Druhy","Treti" ..... "Desaty");




foreach ($jmena as $i => $jmeno) {

printf("<p><input type="radio" name="%s" value="true"%s />%s</p>,$jmeno,(isset($_COOKIE[$jmeno]) ? 'checked="checked"' : ''),$hodnoty[$i]);

}
Hanz
Profil
Charlie
Kaifman
Ale ani jeden nefunguje.
1) Chybí ukonšení uvozovek (těch co začínají před <p>)
2) name musí být u všech přepínačů stejný
Charlie
Profil
Chybí ukonšení uvozovek (těch co začínají před <p>)

Pardon, já jsem zvyklý na své Zend Studio se zvýrazněnou syntaxí, tady v textaree se mi to nepíše moc dobře.


name musí být u všech přepínačů stejný

To jste neřekl, že mají být všechny inputy na jednu věc :-) Já dnes přemýšlím neobvykle pomalu a trklo mi to až teď. Asi už znáte způsob, jak opravit můj kód.
Hanz
Profil
Charlie
Jasně. Musel jsem ho ještě trochu předělat.
Jinak dík.
Toto téma je uzamčeno. Odpověď nelze zaslat.