Zapamatování zaškrtnutého checkboxu

Od: Datum: 09.06.12 21:24 odpovědí: 1 změna: 09.06.12 21:54

Dobrý den, na webu mám zaškrtávácí tlačítko CHECKBOX. Potřebuju, aby po jeho zaškrtnutí a stiknutí tlačítka odeslat, zůstal zaškrtnutý. Na vždy. Tedy dokud ho zase nerestartuji. Bylo mi řečeno, že by to mělo jít pomocí sessions nebo cookies, ale zkoušel jsem to několika způsoby a pokaždé je tlačítko zaškrtnuté jen do obnovení stránky. Prosím vás o pomoc. Nejlepší by bylo, kdyby mi někdo mohl upravit ten kód.


1

2

3

4





avatar
Upozornění
Tato otázka je 5 let bez odpovědi a proto byla uzavřena.
Máte-li podobnou otázku, a nenašli jste vhodnou odpověď, založte novou otázku.
Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 09.06.12 21:54
 
avatar

No tohle ale máte jen klientskou část, "pohled" v prohlížeči nebo jak tomu chcete říkat. Chybí vám serverová logika. A jelikož mi php nic neříká, můžu vám to napsat jen obecně, ne konkrétní příkazy. Obsah souboru skript.php (pokud tedy ta stránka odesílá formulář sama sobě):

Zkontroluju request.cookies(název cookie)(název proměnné), jestli je už nastaven stav tlačítka. Pokud ano, uložím ho do proměnné.

Zkontroluju typ příchozího requestu, pokud je POST, zpracovávám formulář, vemu z něj tedy všechny položky podle názvu, dám je do proměnných, udělám s nimi xyz (to je na vás, k čemu ten formulář je). Tlačítko uložím do proměnné (přepíšu hodnotu, která byla v cookies, pokud tam byla).

Pokud ani teď stále není nastavena proměnná s hodnotou tlačítka (tedy uživatel ani nemá cookies, ani neodesílá formulář, je tedy na stránce úplně poprvé), nastavím proměnnou na výchozí hodnotu.

K odpovědi přiřadím odpovídající response.cookies, aby se hodnota tlačítka odeslala prohlížeči.

Vykreslím stránku, tedy vypíšu html head body, ten formulář atd. V místě, kde jsem uvnitř input checkbox tagu, se kouknu, jaká je hodnota proměnné, a podle toho vypíšu nebo nevypíšu checked="checked".

Se session to uděláte úplně stejně, jen místo čtení a zápisu do cookies budete číst a zapisovat do session.

Jinak oba případy nejsou "nafurt", session skončí 20 minut po posledním requestu a pak se to zapomene. Po vypršení (dobu jejich platnosti si nastavíte vy) nebo smazání cookies v prohlížeči se to taky zapomene.

 

 

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.