» »

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.

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, ...)

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JS / PHP] miniajax post

Oddelek: Programiranje
131034 (768) cobrica
»

Napaka v Internet Explorer-ju

Oddelek: Izdelava spletišč
181979 (1781) Gost
»

problem z phpjem

Oddelek: Izdelava spletišč
304267 (3680) snow
»

php variable scope problem

Oddelek: Izdelava spletišč
81273 (1186) darh
»

dolžina vnešenega teksta

Oddelek: Izdelava spletišč
331728 (1341) darh

Več podobnih tem