» »

Kontaktna forma - ohranjanje vnešenih podatkov ob napačnem vnosu

Kontaktna forma - ohranjanje vnešenih podatkov ob napačnem vnosu

ta-mau ::

Forma je sestavljena iz dveh delov. Eforma.php ter contact.php kjer se preverja pravilnost podatkov ter odpošlje email. Zadeva je sledeča, da ob postanju prve strani se podatki iz okvirčkov izbrišejo in v primeru, da so le ti bili napačni, nas contact.php preusmeri ponovno na prvo stran, ki pa postane prazna kar pa npr zna bit zelo moteče za tiste kateri so napisali celotno sporočilo in le pozabili vpisati naslov. Torej iščem rešitev katera bi omogočila da kljub napačnim podatkov določene izmed njih ohrani v okvirčkih.

ps:Ali mogoče php podpira opcijo focus s katero lahko usmerimo pisanje v točno določen field?

Gandalfar ::

ajax? :)

b ::

Naredi tako, da postaš na isto stran kot je forma, preveriš podatke, in če kaj ne ustreza, izprazniš samo polje, ki ti ni všeč, ter zraven zapišeš opozorilo. Če je vse v redu, pošlješ mail (ali karkoli pač narediš) ter obiskovalca redirectas na success page (ali pa nazaj na index ali karkoli pač želiš)

Enkrat sem naletel na nekaj podobnega narejeno s Phorm-om, ta ima to super urejeno. Narediš template ter rule file, v katerem piše, kakšne lastnosti mora imeti input. Ima pa ta phorm, kolikor vem, precej slab track record glede varnosti, ampak se mi zdaj ne da iskat linkov...

ta-mau ::

hvala vsem za nasvete.. mislim da sem našel to kar sem iskal.... malo modifikacij pa bo ko šus :)

wat56 ::

Najlažje boš problem rešil, če boš naredil validacijo podatkov kar na tisti strani, kjer imaš formo.
Torej preden bo uporabnik kliknil na gumb Pošlji, bo tvoja koda preverila primernots podatkov. Če bo kakšen error boš naprimer spremenil value nekega label-a etc .. stran se tako ne bo osvežila in podatki bodo ostali na mestu.

Če pa imaš ločeno pa bi bilo smotrno tako: Podatke pošlješ na contact.php kjer jih dobiš z _POST, tam preveris ce je kak error in ce je posljes te podatke v nazaj na eforma.php, ter jih tam vneseš v forme. ($value = _POST['priimek'];)

Seveda boš moral na začetku kode v eform.php preverjat če so spremenljivke polne oz prazne in če so prazne bo eform.php to smatral kot da je bila stran naložena prvič.

Tako nekako.

p.s. uporabljaj regular expressions za validacijo email naslova etc ...
p.s.s misliti moraš tudi na okoliščino kjer uporabnik izklopi javascript v browserju - javascript validacija ni ravno primerna. Zato mora biti validacija 'hard coded' :)

Zgodovina sprememb…

  • spremenilo: wat56 ()


Vredno ogleda ...

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

html/PHP kontakt obrazec

Oddelek: Izdelava spletišč
192045 (1590) Netrunner
»

Kako preveriti ali so vnosna polja izpolnjena?

Oddelek: Izdelava spletišč
111992 (1646) bluefish
»

PHP - nujno! - email forma

Oddelek: Izdelava spletišč
262037 (1719) DonMatejo
»

PHP in link ?mode= ...

Oddelek: Izdelava spletišč
51210 (1084) osti1
»

PHP KONTAKT

Oddelek: Izdelava spletišč
71503 (1340) rkasteli

Več podobnih tem