Forum » Izdelava spletišč » Validacija obrazca pred izvedbo
Validacija obrazca pred izvedbo
salabajs ::
Pozdrav!
Potrebujem malo pomoči..
Imam obrazec, ki se mi dinamično (gleda na podatke v mysql) napolni z elementi (ta del že deluje). Obrazec ima več vrstic in v vsaki vrstici je dropdown (izbira) in input polje (vnos kode). Št. vrstic je različno.
Vprašanje..
Kako bi naredil validacijo/preverjanje vpisane kode, z kodo, ki je že v bazi? Če je vpisana koda napačna se ne izvede nič in se npr rdečo obarva polje s kodo; če je pravilna koda (da se kodi ujemata), potem pa gre v bazo in posodobi določeno celico.
To predvidevam, da bi se dalo rešiti z js, ajax, php kombinacijo. Sam nimam toliko izkušenj, da bi pisal kodo iz glave, z primeri iz spleta pa nisem (še) uspel vzpostaviti sistema, ki bi deloval.
Ločeno od te zadeve že imam formo, ki mi preko ajaxa in php shrani zadeve bazo. Tam je narejena tudi validacija. Tukaj pa nastane težava ker imam dinamično število elementov npr: #koda1, #koda2, #koda3.. in potem ne morem tam fiksno napisati imena ID-ja.
Potrebujem malo pomoči..
Imam obrazec, ki se mi dinamično (gleda na podatke v mysql) napolni z elementi (ta del že deluje). Obrazec ima več vrstic in v vsaki vrstici je dropdown (izbira) in input polje (vnos kode). Št. vrstic je različno.
Vprašanje..
Kako bi naredil validacijo/preverjanje vpisane kode, z kodo, ki je že v bazi? Če je vpisana koda napačna se ne izvede nič in se npr rdečo obarva polje s kodo; če je pravilna koda (da se kodi ujemata), potem pa gre v bazo in posodobi določeno celico.
To predvidevam, da bi se dalo rešiti z js, ajax, php kombinacijo. Sam nimam toliko izkušenj, da bi pisal kodo iz glave, z primeri iz spleta pa nisem (še) uspel vzpostaviti sistema, ki bi deloval.
Ločeno od te zadeve že imam formo, ki mi preko ajaxa in php shrani zadeve bazo. Tam je narejena tudi validacija. Tukaj pa nastane težava ker imam dinamično število elementov npr: #koda1, #koda2, #koda3.. in potem ne morem tam fiksno napisati imena ID-ja.
ph0enix ::
Ena izmed opcij je da uporabiš $_SERVER["PHP_SELF"] ob pošiljanju obrazca. To bo poslalo podatke iz obrazca v URL, kjer jih lahko z PHP skripto prebereš in primerjaš z bazo. Obrazec in PHP skripto oba piši v isti dokument. (ali pa dodaj (include) PHP dokument z skripto pred HTML kodo obrazca).
Za potrebe pravilno rešenega obrazca imaš zraven tabel span značke z praznimi PHP spremenljivkami (echo $imeNapaka, ...). Če skripta ugotovi da določeno polje nima podatkov/ni pravilno, enostavno dodaš opozorilno besedilo v spremenljivko in BAM, kar naenkrat bo uporabnik videl kaj je narobe. Seveda pa uporabi zastavice (0/1) zato da boš vedel kdaj je uporabnik pravilno izpolnil vsa polja.
Pri tem velja opozoriti da je preko PHP_SELF metode zelo lahko poslati zlonamerno kodo ki ti lahko zj*ba bazo, zato je priporočeno uporabiti metodo v PHP skripti, ki ti preverja vse poslane podatke in zbriše vse nedovoljene znake (oklepaji, črte, ...)
Zelo dober tutorial za upravljanje obrazcev z PHP, preberi si celotno poglavje PHP forms.
Celotni PHP obrazec, zraven moraš samo še napisati par dodatnih funkcij, ki se povežejo na bazo in primerjajo podatke. (in posodobijo bazo, seveda)
Za potrebe pravilno rešenega obrazca imaš zraven tabel span značke z praznimi PHP spremenljivkami (echo $imeNapaka, ...). Če skripta ugotovi da določeno polje nima podatkov/ni pravilno, enostavno dodaš opozorilno besedilo v spremenljivko in BAM, kar naenkrat bo uporabnik videl kaj je narobe. Seveda pa uporabi zastavice (0/1) zato da boš vedel kdaj je uporabnik pravilno izpolnil vsa polja.
Pri tem velja opozoriti da je preko PHP_SELF metode zelo lahko poslati zlonamerno kodo ki ti lahko zj*ba bazo, zato je priporočeno uporabiti metodo v PHP skripti, ki ti preverja vse poslane podatke in zbriše vse nedovoljene znake (oklepaji, črte, ...)
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; }
Zelo dober tutorial za upravljanje obrazcev z PHP, preberi si celotno poglavje PHP forms.
Celotni PHP obrazec, zraven moraš samo še napisati par dodatnih funkcij, ki se povežejo na bazo in primerjajo podatke. (in posodobijo bazo, seveda)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JS / PHP] miniajax postOddelek: Programiranje | 1034 (768) | cobrica |
» | Napaka v Internet Explorer-juOddelek: Izdelava spletišč | 1979 (1781) | Gost |
» | problem z phpjemOddelek: Izdelava spletišč | 4267 (3680) | snow |
» | php variable scope problemOddelek: Izdelava spletišč | 1273 (1186) | darh |
» | dolžina vnešenega tekstaOddelek: Izdelava spletišč | 1728 (1341) | darh |