Ahoj,
jak, prosím, zjistím že při zpravovávání hodnot z foruláře někdo zaškrtl checbox.
Mám následující checkbox v el. formuláři:
<input type="checkbox" name="souhlasUcastnika" value="agree" checked="checked">Zaplacením poplatku souhlásím s výše uvedenými pravidly.
Ve spracovávajícím skriptu pak nevím, co napsat, aby jsem zjistil, zdali byl checkbox zaškrtnut či nikoliv.
Akorát jsem si vyvolal hodnotu checkboxu, ale ta mije k ničemu:
$souhlasUcastnika = $_POST["souhlasUcastnika"] ;
Pomožte mi, prosím :)
Nechej si vypsat celé pole $_POST příkazem print_r ($_POST) a podívej se, co obsahuje prvek $souhlasUcastnika, když checkbox zaškrtneš a když ne.
Když ho zaškrtneš
$_POST['souhlasUcastnika'] = "agree";
když ne
$_POST['souhlasUcastnika'] = "";
to zbi ... Absolutní souhlas :D ..
kdyz ne, tak se vubec neposle, takze
$_POST['souhlasUcastnika'] = "";
by mel hlasit, "neexistuje"....
1) Vymaž z formuláře hodnotu value
2) Parametr checked je bez hodnoty
3) Výsledek: <input type="checkbox" name="souhlasUcastnika" checked>Zaplacením poplatku souhlásím s výše uvedenými pravidly.
4) Předá se to scriptu ke zpracování jako proměnná $souhlasUcastnika s hodnotami true nebo false (podle toho, jestli je zaškrtnuto).
5) V podmínkách pak vyhodnocuj pomocí operátoru === nebo !==
6) Tj. např. if($souhlasUcastnika===true){echo("Vitej na strance.");}else{echo("Pro vstup musis prijmout podminky");}
7) Dobrá rada na závěr - nedávej do <input> parametr checked vůbec - pokud chce uživ vstoupit, musí to přece zaškrtnout, jako že souhlasí...