Maza PHP funkcija, ka palīdz apiet problēmu, kura rodas, veidojot formas ar select
elementu, kurā drīkst vienlaicīgi atzīmēt vairākus elementus.
Tā vietā, lai rakstītu <select name="sel[]">
, kas neatbilst jums visiem tik mīļajām specifikācijām un rekomendācijām, ar šīs funkcijas palīdzību var rakstīt tā, kā visā normālajā pasaulē pieņemts — <select name="sel">
.
Rezultātā tieši tāpat kā pirmajā gadījumā tiks iegūts masīvs $_POST['sel']
, kurā tad arī tiks uzskaitīti visi elementi. Vienīgais mīnuss, kurš pastāv, ir tas, ka lai servera galā sekmīgi to visu apstrādātu, nāksies izmantot mazu viltību, jo, gadījienā, ja tiks atzīmēts tikai viens no elementiem, nekāds masīvs neizveidosies (kas loģiski):
$_POST = processRawPostData(); if (isset($_POST['sel']) && !is_array($_POST['sel'])) { $_POST['sel'] = Array($_POST['sel']); }
P.S. Šitais nestrādās, izmantojot formu ar enctype="multipart/form–data"
.
P.P.S. Un vēl. Ja mēs pieminam arīdzan WML, tad šeit multiplie selekti tiek padoti kā sel=val1;val2;val3
1 es @ 22:32 (2004. gada 02. novembris)
Un patīk cilvēkiem sarežģīt sev dzīvi :))
2 anonīmi @ 22:59 (2004. gada 02. novembris)
vietās, kur specene ir stulba, es viņu pārkāpju. bez sirdsapziņas pārmetumiem.
3 laacz @ 23:05 (2004. gada 02. novembris)
es: manuprāt es to esmu atvieglojis :)
anonīmi: dotajā gadījumā PHP metode ir stulba un nepārdomāta :)
4 Delfins @ 09:28 (2004. gada 03. novembris)
lācz, ja parādas šitādi PS un PPS, tad labak to nelietot. un palikt pie vecām metodēm.
5 laacz @ 09:30 (2004. gada 03. novembris)
Delfins: Tas nav tik viennozīmīgi.