Avatar billede compac Seniormester
17. august 2004 - 21:19 Der er 5 kommentarer og
1 løsning

Validering serverside/clientside PHP/Mysql

Jeg har forstået, at det er en fordel og sikrest at validere på serveren f. eks. ved indtastning i formularer. Denne validering skal vel ske i PHP.
PHP er ikke særlig kønt rent grafisk og man føler sig derfor fristet til at validere clientside, hvor javascript er ideelt.
Hvordan ser den løsning ud, hvor man får "smukke" fejlmeddelelser og sikker validering?
Avatar billede dennismp Nybegynder
17. august 2004 - 21:23 #1
Hvad mener du med smukke-fejlmeddelelser?

Der er jo intet i vejn for, at php laver valideringen, men genererer noget javascript kode der viser dem "smukt".

Fx

if( empty($_POST['navn']) ) {
  echo '<script language="javascript">Alert("Fyføjda; du har ikke skrevet et navn");</script>';
}
Avatar billede compac Seniormester
17. august 2004 - 21:33 #2
Vil det sige, at når jeg skriver $_POST foran, så sker behandlingen af feltet på serveren? -eller er der flere kriterier der skal tages højde for?

F.eks dette eksempel:
<form method='post' action='din_side.php' onsubmit='return validate();' name='form'>

- hvor validate() er en funktion i script-afsnittet på siden.
Avatar billede dennismp Nybegynder
17. august 2004 - 21:44 #3
Da PHP er et serverside sprog, så foregår alt på serveren. Hvis PHP koden blev sendt til brugeren - vil han bare se sourcekoden.

Lad os sige du har en form i stil med
<form method="post" action="validate.php">
Dit navn: <input type="text" name="navn">
</form>

i validate.php kan du så skrive, for at få fat i værdien i "navn"

$_POST['navn']

Hvis din form havde method="get", så bruger du istedet

$_GET['navn']

..

i dit eksempel, vil din validate() javascript funktion  blive kaldt. Hvis alt gå ok, så bliver formen sendt til browseren. Det er her du så med php kan tjekke de forskellige felter, for at være sikker på at de er ok.. (i tilfælde af, at vedkommende har disablet js o.lign)
Avatar billede compac Seniormester
17. august 2004 - 22:12 #4
Det satte en del på plads, tak for hjælpen.
Læg et svar
Avatar billede dennismp Nybegynder
17. august 2004 - 22:18 #5
Det var så lidt.
Avatar billede arne_v Ekspert
17. august 2004 - 22:37 #6
Lige en ekstra betragtning:

* man skal altid validere data server side uanset hvad (om man genererer JavaScript
  eller rå HTML til at informere om fejl er mindre vigtigt)

* derudover kan man som supplement lave et client side check af data inden
  submit i JavaScript for at spare en server round trip ved fejl
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester