Autor | Zpráva | ||
---|---|---|---|
kopi Profil |
#1 · Zasláno: 5. 8. 2016, 19:49:03
Zdravím,
tohle se tu řešilo několikrát, ale přesto nedokážu opravit tuhle chybu. Mám checkobox: <input type="checkbox" name="financovani" value="ano"> , plus několik dalších polí.
Zpracování formu: if(isset($_POST['poptavka'])) // POKUD BYL ODESLÁN POPTÁVKOVÝ FORMULÁŘ { $id = $_GET['id']; // ID PRODUKTU // ZPRACOVÁNÍ ODESLANÝCH POLÍ $financovani = trim($_POST['financovani']); $poznamka = trim($_POST['poznamka']); Odesílám asi 10 polí a všechny to vezme v pohodě, i když nejsou vyplněný. Jediný tenhle checkbox vyhazuje chybu undefined index: financovani. Přitom formulář se pošle i správně zachová => pokud je zaškrtnuto, hodnota je "ano", pokud zaškrtnuto není, hodnota je "ne". Jen to prostě vyhazuje tu hlášku, ale proměnná $financovani je definovaná, když to funguje,ne? Děkuju. |
||
Alphard Profil |
#2 · Zasláno: 6. 8. 2016, 01:57:43
kopi:
„ale proměnná $financovani je definovaná, když to funguje,ne?“ Checkbox se z formuláře posílá pouze v případě, že je zaškrtnutý; to je rozdíl oproti třeba textovému inputu, který se odešle vždy (i prázdný). Pokud checkbox tedy je zaškrtnutý, mělo by být vše v pořádku, bez hlášky. Pokud ale NENÍ zaškrtnutý, tak se daný checkbox vůbec neodešle a proměnná $_POST['financovani'] není definovaná, proto ta hláška (vztahuje se ke klíči pole $_POST, nikoliv přímo k proměnné $financovani). Řešení je použít isset, např.: $financovani = isset($_POST['financovani']) ? 'ano' : 'ne'; |
||
Časová prodleva: 8 let
|
0