[PHP] form validation

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Hallo,

Ik heb wat rondgezocht en kom op een paar variantnen van form validations PHP. Sowieso: javascript naast PHP, maar nooit alleen JS.

Daarnaast wil ik graag via een class en form validaten, maar dat allemaal in 1 bestand houden. Kan dat?
Mijn oplossing tot nu toe is het form 2x te maken.... maar vind het een lastig onderwerp.

Wil graag namelijk dat je per veld kan zien wat je fout gedaan hebt.

De class retouneert overigens true of false als iets niet voldoet.

wat is nu de beste methode om dit op te lossen?

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 15:28
Het beste is serverside, dus mbv PHP: JS is uit te zetten en vaak minder krachtig, zeker als er gegevens van de server nodig zijn.

Mijn globale opzet voor dit soort checks is (en dan heb je dus maar 1 pagina nodig):

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
  if (gesubmit)
    lees $_POST-vars uit en controleer ze

  if (no errors)
    voer acties uit
    zet op scherm 'ok' en exit script

  else (er zijn errors of er is nog niets ingevoerd)
    toon formulier, eventueel met error-messages
?>


Tot zover heel globaal, en het werkt (vind ik zelf) zeer efficient. Hoop dat dit was wat je bedoelde?

Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Heb je concrete code voor mij of ff te bestuderen? Zou ik vet vinden.
Ken de syntax van PHP niet super en voorzie alweer onnodig puzzelwerk.

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Misschien eens naar http://www.formhandler.nl kijken? Daar schijn je dit allemaal vrij eenvoudig mee te kunnen.

Acties:
  • 0 Henk 'm!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Misschien is het dan toch verstandig om de php-syntax wél goed te leren kennen, want zoals in de FAQ staat zijn we hier geen scriptdesk. Nog wat opbouwende tips: maak een class die b.v. een xml-bestand inleest, dit omzet naar de form, en als deze gesubmit is uit het xml-bestand de info haalt over de gewenste output v/d form. Ofzo :).

Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Nou, de PHP syntax snap ik wel hoor, maar niet alles weet ik nog.
XML? Mhh, is te proberen.
Wil alleen zorgen dat de code zo SIMPEL mogelijk is, elk teken te veel vind ik slecht. ;)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Ik heb een automagische formulierfunctie in m'n CMS zitten, en die genereert op basis van een mysql tabel met regex voor validatie erin enzo een formulier. Door middel van templates en loops kun je ook JavaScript validatie automatiseren. Ook aan de ontvangst-kant (PHP) wordt dus per veld een regex-check gedaan (en eventueel type-check, met is_numeric etc).

Voor de kleinere formulieren heb ik in PHP een setje functies:
PHP:
1
2
3
4
5
6
7
<?php
$naam = requireInput('naam');
$postCode = requireValidInput('postcode','[postcode regex hier]');
$huisNummer = requireNumericInput('huisnummer');
$optioneel = optionalInput('optional');
// optionalNumericInput, optionalValidInput etc bestaat natuurlijk ook :)
?>


Scheelt een hoop werk... als je zoiets ook in JavaScript maakt is de cirkel rond :)

edit:
nog ff wat

Overigens geven die require* functies allemaal een error (gevolgd door een 'die' die het script stoppen) als een invoervariabele er niet is. De require* en de optional* functies doen ook dingen die van belang zijn ivm addslashes/stripslashes en get_magic_quotes_gpc();

[ Voor 20% gewijzigd door MisterData op 10-12-2003 21:15 ]


Verwijderd

Zoolander schreef op 10 december 2003 @ 18:04:
Heb je concrete code voor mij of ff te bestuderen? Zou ik vet vinden.
Ken de syntax van PHP niet super en voorzie alweer onnodig puzzelwerk.
Puzzelwerk hoort nou eenmaal bij programmeren. Zo zijn we allemaal begonnen ;)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Misschien een beetje een dubbelpost hoor, maar waarom zou je geen gebruik maken van bijvoorbeeld formhandler, zoals in mijn 1e post staat? Je maakt duidelijk dat je eigenlijk niet zoveel zin hebt om het uit te gaan puzzelen, waarom zou je dit dan doen terwijl er al een kant-en-klaar alternatief is?

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Ja, ja. Ik ben ook geen complete NOOB. En als ik niet van puzzelen zou houden, dan kan ik net zo goed ophouden met programmeren ;)
Nee, dat is het probleem niet.
En formhandler is zeer ok! Dus die down ik wel ff, maar daarna wil het zelf gaan schrijven. Snap alleen nog niet helemaal WELKE procedure er gevolgd wordt in de scripts, hoe check je of iets gesubmit is bijv.?

mijn naam slaat nergens op, althans niet op mij :P

Pagina: 1