1 (edited by skuelas 2011-09-25 20:39:32)

Topic: radio mygtukai ir ju reiksmes

Taigi atsitiko toks idomus dalykas :)

Na pasirasiau skripta - forma su ivairia apsauga, na atrodo viskas kaip ir gerai ivertinus skripta :) sedejau sau ramiai kokius 2 menesius... Ir atsirado zmogelis - klientas, kuris buvo nepatenkintas ir padare poksta man... Yra pas mane formoje yra radio mygtukai su savo reiksmem tarkim jis turi pasirinkti kazka, taigi klientas tycia parode "skyle" man kaip "padeka" :D
Va ka padare: tarkim yra pasirinkimas "1" arba "2" su radio mygtuku, tai jis man uzsate "0", na as aisku tai pamates kiek suglumau keliom minutem nes nesupratau kaip taip gali buti jug to pasirinkime nera, o ir kazkokia klaida negalejo isivelti skripte mano.. Pagalvojes 10 min, ir perziurejes tiesiog HTML ka pateikia narsykle, pamaciau kad yra rodomas "name=rmygtukas" dalis pagal kuria pasiimu is formos radio reiksme, o ja irasius tarkim i URL adresa kaip parametra, ...&rmygtukas=0 ji ir priima kaip teisinga, na pagalvojes sakau galeciau tikrinti reiksme ar tikrai yra toji reiksme  pasirinkta is mano masyvo, jei ne nevykdyti toliau skripto. Bet gal galima tai padaryti gudriau/graziau? Idomumo deliai klausiu :)

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

2 (edited by qutwala 2011-09-25 21:00:18)

Re: radio mygtukai ir ju reiksmes

skuelas wrote:

Taigi atsitiko toks idomus dalykas :)

Na pasirasiau skripta - forma su ivairia apsauga, na atrodo viskas kaip ir gerai ivertinus skripta :) sedejau sau ramiai kokius 2 menesius... Ir atsirado zmogelis - klientas, kuris buvo nepatenkintas ir padare poksta man... Yra pas mane formoje yra radio mygtukai su savo reiksmem tarkim jis turi pasirinkti kazka, taigi klientas tycia parode "skyle" man kaip "padeka" :D
Va ka padare: tarkim yra pasirinkimas "1" arba "2" su radio mygtuku, tai jis man uzsate "0", na as aisku tai pamates kiek suglumau keliom minutem nes nesupratau kaip taip gali buti jug to pasirinkime nera, o ir kazkokia klaida negalejo isivelti skripte mano.. Pagalvojes 10 min, ir perziurejes tiesiog HTML ka pateikia narsykle, pamaciau kad yra rodomas "name=rmygtukas" dalis pagal kuria pasiimu is formos radio reiksme, o ja irasius tarkim i URL adresa kaip parametra, ...&rmygtukas=0 ji ir priima kaip teisinga, na pagalvojes sakau galeciau tikrinti reiksme ar tikrai yra toji reiksme  pasirinkta is mano masyvo, jei ne nevykdyti toliau skripto. Bet gal galima tai padaryti gudriau/graziau? Idomumo deliai klausiu :)

Be abejo gali, bet sprendimas priklauso nuo konkrečios situacijos. :)
Aš asmeniškai darau taip:
Jeigu galimų reikšmių n..n+X tuomet tikrinimą darau per masyvą. Pavyzdžui:

$input = $_POST['radio']; //pvz labas
$v_array = (0 => labas, 1 => viso); //galimos reiškmės
$input = ((!in_array($input, $v_radio)) ? 'labas' : $input); //tikrinimas, jeigu dede nori pamandravot, kaip default nustatome 'labas' ir nesukame sau galvos

Tas pats jeigu tėra tarkim kokios dvi galimos reikšmės, pvz 0 ir 1:

$input = $_POST['input']; //pvz 1
$input = ($input != 1 ? 0 : 1);

Galbūt atsiras geresnių sprendimų, patarimų? :)

Re: radio mygtukai ir ju reiksmes

Jeigu dinamiškai generuojam formos parametrus, tai dinamiškai ir validuojam. Ar dar neaišku, kad headerius galima paduoti kokius tik nori, ir tos formos visiškai nereikia, kad tai atliktu. Bugai.

Kiek maigyklių sudėvėjai ?

Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

Re: radio mygtukai ir ju reiksmes

qutwala: prie $_POST['input'] neprošal panaudoti ir (int) - (int)$_POST['input'] jei tikrai laukiamas skaičius iš post. čia dėl viso pikto :)

5 (edited by qutwala 2011-09-26 13:16:54)

Re: radio mygtukai ir ju reiksmes

Min2liz wrote:

qutwala: prie $_POST['input'] neprošal panaudoti ir (int) - (int)$_POST['input'] jei tikrai laukiamas skaičius iš post. čia dėl viso pikto :)

Int`as turi ribotą ribotą atmintį, tai nemanau, kad verta jį naudoti. Jau geriau tokiu atveju prie to pačio naudoti f-ją is_numeric. ;)
Tuolab, kad rezultate, kad ir ką bevestum vistiek gausi 1 arbą 0, kam dar tiek notice`ai reikalingi su (int)?:)