Door
paul prive
op 25-07-2011 12:49
gewijzigd op 25-07-2011 13:08
4.471 views
Beste
ik heb dit formulier in elkaar gestoken en dit werkt naar behoren,
alleen zou ik graag willen dat het stuk validatie regel 41 tot 187 ergens anders willen hebben alleen weet niet hoe ik dit het best kan doen.
ook had ik graag deze validatie via Ajax laten lopen maar zou niet weten hoe ik dit moet aanpakken, vooral op het vlak van email.
hoe kan ik de gegevens die de klant heeft ingevoerd na het versturen als overzicht laten weergeven en als de klant dit wederom bevestigd dat dan de gegevens pas in de DB worden opgeslagen.
<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($_POST['name'], $_POST['lastname'], $_POST['email'], $_POST['address1'], $_POST['towncity'], $_POST['postcode'], $_POST['phone'], $_POST['dogname'], $_POST['chip'], $_POST['ras'], $_POST['weight'], $_POST['gender'], $_POST['dinner'], $_POST['socialdog'], $_POST['socialhuman'], $_POST['flea'], $_POST['carre'], $_POST['parvovirose'], $_POST['hepatitis'], $_POST['kennelhoest'] ) )
{
// Er zijn gegevens verstuurd naar deze pagina!
// We gaan de errors in een array bijhouden
$aErrors = array();
// Een naam bevat letters en spaties (minimaal 3)
if ( !isset($_POST['name']) or !preg_match( '~^[\w ]{3,}$~', $_POST['name'] ) ) {
$aErrors['name'] = 'Uw voornaam moet ingevuld zijn';
}
// Een achternaam bevat letters en spaties (minimaal 3)
if ( !isset($_POST['lastname']) or !preg_match( '~^[\w ]{3,}$~', $_POST['lastname'] ) ) {
$aErrors['lastname'] = 'Uw Achternaam moet ingevuld zijn';
}
// Een email-adres is wat ingewikkelder
if ( !isset($_POST['email']) or !preg_match( '~^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$~i', $_POST['email'] ) ) {
$aErrors['email'] = 'Uw email adres moet ingevuld zijn';
}
// Een adres heeft letters, cijfers, spaties (minimaal 5)
if ( !isset($_POST['address1']) or !preg_match( '~^[\w\d ]{5,}$~', $_POST['address1'] ) ) {
$aErrors['address1'] = 'Uw adres moet ingevuld zijn';
}
// Een plaatsnaam heeft letters, spaties en misschien een apostrof
if ( !isset($_POST['towncity']) or !preg_match( '~^[\w\d\' ]*$~', $_POST['towncity'] ) ) {
$aErrors['towncity'] = 'Uw woonplaats moet ingevuld zijn';
}
// Een postcode heeft vier cijfers, eventueel een spatie, en twee cijfers
if ( !isset($_POST['postcode']) or !preg_match( '~^\d{4}~', $_POST['postcode'] ) ) {
$aErrors['postcode'] = 'Uw postcode moet ingevuld zijn';
}
// Een telefoonnummer heeft minimaal 2 cijfers, eventueel een spatie, gevolgd door 9 cijfers
if ( !isset($_POST['phone']) or !preg_match('^[0-9]{10}$^', $_POST['phone'] ) ) {
$aErrors['phone'] = 'Uw telefoon/gsm nummer moet ingevuld zijn';
}
// Een hondenaam bevat letters en spaties (minimaal 3)
if ( !isset($_POST['dogname']) or !preg_match( '~^[\w ]{2,}$~', $_POST['dogname'] ) ) {
$aErrors['dogname'] = 'de naam van uw hond ingevuld zijn';
}
// Een chipnummer heeft letters, cijfers, spaties (minimaal 5)
if ( !isset($_POST['chip']) or !preg_match( '~^[\w\d ]{5,}$~', $_POST['chip'] ) ) {
$aErrors['chip'] = 'Het chipnummer moet ingevuld zijn';
}
// Een rasnaam bevat letters en spaties (minimaal 3)
if ( !isset($_POST['ras']) or !preg_match( '~^[\w ]{3,}$~', $_POST['ras'] ) ) {
$aErrors['ras'] = 'Het ras van uw hond moet ingevuld zijn';
}
// het gewicht heeft vier cijfers, eventueel een spatie, en twee letters
if ( !isset($_POST['weight']) or !preg_match( '~^\d{2} ?[a-zA-Z]{2}$~', $_POST['weight'] ) ) {
$aErrors['weight'] = 'het gewicht moet ingevuld zijn';
}
// geslacht
if(!isset($_POST['gender'])){
$aErrors['gender'] = "Geslacht moet ingevuld zijn.";
}
// voeding
if(!isset($_POST['dinner'])){
$aErrors['dinner'] = "Voeding moet ingevuld zijn";
}
// Sociaal met honden
if(!isset($_POST['socialdog'])){
$aErrors['socialdog'] = "Sociaal met honden moet ingevuld zijn";
}
// Sociaal met mensen
if(!isset($_POST['socialhuman'])){
$aErrors['socialhuman'] = "Sociaal met mensen moet ingevuld zijn";
}
// ontvlooid
if(!isset($_POST['flea'])){
$aErrors['flea'] = "ontvlooid moet ingevuld zijn";
}
// Carré
if(!isset($_POST['carre'])){
$aErrors['carre'] = "Carré moet ingevuld zijn";
}
// parvovirose
if(!isset($_POST['parvovirose'])){
$aErrors['parvovirose'] = "parvovirose moet ingevuld zijn";
}
// hepatitis
if(!isset($_POST['hepatitis'])){
$aErrors['hepatitis'] = "Hepatitis moet ingevuld zijn";
}
//Kennelhoest
if(!isset($_POST['kennelhoest'])){
$aErrors['kennelhoest'] = "Kennelhoest moet ingevuld zijn";
}
if ( count($aErrors) == 0 ) {
// We hebben alle gegevens
// Gegevens verwerken!
// Volgende pagina aub
header('Location: http://');
die();
}
}
/************************************************************************************************************
* Hier kunnen we een hele grote streep trekken. Alles wat hierboven was, was verwerking van de data, acties *
* bepalen etc. Alles wat hieronder staat, draait alleen maar om de uitvoer en de feedback. Niets hieronder *
* schrijft dingen naar de database, niets hierboven schrijft iets naar het scherm. Zo houden we het model *
* van de pagina gescheiden van de weergave! *
************************************************************************************************************/
?>