Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP i Javascript validacija forme, redosled

[es] :: PHP :: PHP za početnike :: PHP i Javascript validacija forme, redosled

[ Pregleda: 3892 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Daffa
Podgorica

Član broj: 175202
Poruke: 97
78.155.36.*



+2 Profil

icon PHP i Javascript validacija forme, redosled11.05.2009. u 17:45 - pre 181 meseci
Pozdrav svima.

Napravio sam php skriptu za validaciju formi, i s njom je sve u redu. Takodje imam i javascript validaciju formi, i s njom je takodje sve u redu.
Sad imam problem sto ne umijem da postavim redosled: ukoliko korisnik u formu unese neodgovarajuci podatak, treba da se aktivira javascript validacija. PHP validacija mi treba samo ako korisnik u svom pretrazivacu nema ukljucen javascript. Kako ovo izvesti?

Izvinjavam se ukoliko tema vec postoji, ja je nisam nasao.

Hvala unaprijed.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 18:17 - pre 181 meseci
Nemoj da se oslanjaš samo na validaciju sa strane klijenta, jer postoje dosta načina da se ona "zaobiđe". PHP, i uopšte, server-side validaciju nikako ne trebaš da preskačeš.

JavaScript validaciju možeš da pišeš čisto da ne bi svaki put morao ponovo da učitavaš stranu nakon submit-ovanja forme. Npr. korisnik ostavi neko polje nepopunjeno, i ti ga onda JavaScript-om samo obavestiš o tome, pre nego što se ti podaci pošalju na server.

Ja inače u potpunosti izbegavam client-side validaciju, a i kad hoću da dodam malo "user-friendly" efekta pri validaciji neke forme, onda to radim koristeći AJAX, što se opet svodi na server-side validaciju.
 
Odgovor na temu

Daffa
Podgorica

Član broj: 175202
Poruke: 97
78.155.36.*



+2 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 18:24 - pre 181 meseci
OK, hvala na savjetu, ali mi nista konkretno nisi rekao vezano za moj problem. Za sada mi treba ovako kako sam prethodno opisao.

Naravno, zahvalan sam na ovom predlogu.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 19:45 - pre 181 meseci
Pa što se tiče provere da li je JS uključen ili ne, meni jedino pada napamet ovako nešto:
Code:

<?php
//Ovde ide neki tvoj PHP kod
?>
<html>
   <body>
   <script type="text/javascript">
      window.location = 'http://www.mojsajt.com/javascript_omogucen.html';
   </script>
      Ovde ide neki sadrzaj koji ce se ispisivati za slucaj da JS nije omogucen.
   </body>
</html>

Drugi način:
Code:

<html>
   <head>
      <title>Title</title>

      <noscript>
         <meta http-equiv="refresh" content="0;url=http://www.mojsajt.com/javascript_onemogucen.html"/>
      </noscript>
   </head>

   <body>
       <?php //tvoj PHP kod ?>
   </body>
</html>

Poenta je da imaš dve iste stranice, samo što ćeš jednu od njih korisiti samo u slučaju da je uključen JS, a ovu drugu kad nije uključen. Evo recimo ovaj prvi primer će pokušati da se redirektuje na stranu javascript_omogucen.html, a to će uspeti samo ako je JS omogućen u browser-u. U suprotnom ispisaće se neki drugi sadržaj, odnosno, isti onaj koji imaš na javascript_omogucen.html, samo što će validacija ići PHP-om.

Ne garantujem da će to da proradi iz prve, al čisto da ti dam neku ideju.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 20:18 - pre 181 meseci
btw Sad mi pade napamet još jedna bolja varijanta...

U liniji form tag-a možeš da dodaš događaj onsubmit, koji će da poziva tu tvoju f-ju za validaciju u JS-u:
Code:

<form action = "test.php" method = "post" onsubmit = "validacija();">
   //elementi forme
</form>

Naravno, to će da ima smisla ako je ono krajnje dugme za submit-ovanje forme tipa submit, a ne button. Taj događaj onsubmit će se izvršiti samo ako je u browser-u uključen JavaScript. I sad, kad se klikne na dugme za submit-ovanje forme, pre nego što se podaci stvarno pošalju na server, u ovom slučaju, skriptu test.php, izvršiće se JS f-ja validacija(). U slučaju da je JS isključen, taj događaj se neće trigger-ovati, i podaci iz forme će biti poslati PHP-u.

I ovo takođe nikad nisam probao, al' po nekoj logici, trebalo bi da radi...
 
Odgovor na temu

Daffa
Podgorica

Član broj: 175202
Poruke: 97
78.155.36.*



+2 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 20:36 - pre 181 meseci
OK Nikola, pogledacu to malo... Djeluje logicno... Hvala na predlozima.

E, jos nesto: kako da pozovem javascript preko echo-a u php-u? Ukoliko ovo ne uspije, planiram da ostavim samo js validaciju za sada...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 21:01 - pre 181 meseci
Citat:
Daffa:E, jos nesto: kako da pozovem javascript preko echo-a u php-u?

Code:

echo '<script type = "text/javascript">//JS kod</script>';

Ako si na to mislio...
 
Odgovor na temu

Daffa
Podgorica

Član broj: 175202
Poruke: 97
78.155.36.*



+2 Profil

icon Re: PHP i Javascript validacija forme, redosled11.05.2009. u 22:03 - pre 181 meseci
to je to hwala!!!
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: PHP i Javascript validacija forme, redosled12.05.2009. u 16:04 - pre 181 meseci
Citat:
Nikola Poša: Nemoj da se oslanjaš samo na validaciju sa strane klijenta, jer postoje dosta načina da se ona "zaobiđe". PHP, i uopšte, server-side validaciju nikako ne trebaš da preskačeš.

JavaScript validaciju možeš da pišeš čisto da ne bi svaki put morao ponovo da učitavaš stranu nakon submit-ovanja forme. Npr. korisnik ostavi neko polje nepopunjeno, i ti ga onda JavaScript-om samo obavestiš o tome, pre nego što se ti podaci pošalju na server.

Ja inače u potpunosti izbegavam client-side validaciju, a i kad hoću da dodam malo "user-friendly" efekta pri validaciji neke forme, onda to radim koristeći AJAX, što se opet svodi na server-side validaciju.


@Daffa

Ovo ti je odgovor koji bi trebao da prihvatiš kao nešto što predstavlja realnost.
Sigurnost aplikacije je jedna od najbitnijih stvari na koje treba obratiti paznju u toku razvoja.
Trimovanje, eskejpovanje i osnovni regularni izrazi uvek dobro dodju da ne misliš.

Evo primera zbog čega uvek treba raditi server-side proveru:

http://en.wikipedia.org/wiki/SQL_injection ,
http://en.wikipedia.org/wiki/Cross-site_scripting ,
http://en.wikipedia.org/wiki/Session_hijacking



 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: PHP i Javascript validacija forme, redosled

[ Pregleda: 3892 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.