Nejste přihlášen/a.

Přihlásit se do poradny

 

Zapamatování zaškrtnutého checkboxu

Od: bossi* odpovědí: 1 změna:

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




 

 

1 odpověď na otázku
Řazeno dle hodnocení

 

 

dzordz*
hodnocení

0x

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.

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

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.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]