Autor | Zpráva | ||
---|---|---|---|
kajo Profil * |
#1 · Zasláno: 18. 12. 2012, 18:03:08
ahojte potreboval by som poradit s testovanim pola, neviem ci robim daku zaciatocnicku chybu alebo co, ale mam vytvoreny html formular ktory obsahuje inputy typu text (nadpis,podnadpis, text) nazov inputu je name=clanok[], nasledne sa snazim testovat ci sa vobec nejaka hodnota v poli nachadza avsak aj ked je pole prazdne vzdy to vyhodi true neviete kde je problem ?
html kod bez form a tlacidla odoslat <input type="text" name="clanok[]" maxlength="30" size="30" /> <input type="text" name="clanok[]" maxlength="30" size="30" /> <input type="text" name="clanok[]" maxlength="30" size="30" /> php overovanie if(!isset($_POST['clanok'])){ echo 'nic nieje zadane'; } if(empty($_POST['clanok'])){ echo 'nic nieje zadane'; } potom som sa snazil testovat len prvu hodnotu if(!isset($_POST['clanok'][0])){ echo 'nic nieje zadane'; } if(!isset($_POST['clanok'][0])){ echo 'nic nieje zadane'; } je jedno ci bola nejaka hodnota zadana alebo nie vzdy sa to chva tak ako keby pole nebolo prazdne ... neviete kde je problem ? dakujem |
||
Taps Profil |
kajo:
„nasledne sa snazim testovat ci sa vobec nejaka hodnota v poli nachadza“ použiji funkci <? in_array() ?> |
||
Kcko Profil |
#3 · Zasláno: 18. 12. 2012, 18:08:19
kajo:
is_array($_POST['clanok'] && count(totez)) |
||
kajo Profil * |
#4 · Zasláno: 18. 12. 2012, 18:37:10
dakujem ale ani jedna z moznosti mi nepomohla stale sa to chovalo tak ako keby pole obsahovalo dake hodnoty, podarilo sa mi to vyriesit nasledovne
$hodnoty = array_filter($_POST['clanok']); if (empty($hodnoty)){ ...... } |
||
Chro Profil |
#5 · Zasláno: 18. 12. 2012, 19:00:38
kajo:
I když do form. pole nic nevyplníš, odesílá se prázdný řetězec (""), což PHP bere také jako hodnotu. |
||
johnyz Profil |
#6 · Zasláno: 18. 12. 2012, 21:55:04
pár rad:
když posíláš pole clanok[], tak jsi na dobre ceste. Pokud si chces overit jake hodnoty jsi odeslal, pouzij var_dump($_POST); die; var_dump($_POST['clanok']); die; // chces-li vypsat jen konkretni promennou a potom cele pole prohnat pres foreach cyklus foreach ($_POST['clanok'] as $article) { if (!empty($article)) { // zpracuj } } |
||
Tori Profil |
#7 · Zasláno: 18. 12. 2012, 23:35:03
kajo:
„mam vytvoreny html formular ktory obsahuje inputy typu text (nadpis,podnadpis, text) nazov inputu je name=clanok[],“ Můžete je tak přímo pojmenovat i ve formuláři: <input type="text" name="clanok[nadpis]" maxlength="30" size="30" /> <input type="text" name="clanok[podnadpis]" maxlength="30" size="30" /> <input type="text" name="clanok[text]" maxlength="30" size="30" /> $_POST['clanok']['nadpis'] apod.
|
||
Časová prodleva: 11 let
|
0