Ik zit met een probleem.
Ik heb een aanmeldformulier en deze linkt door naar een pagina genaamd validation.php
deze php-code moet de form controleren en als deze is goedgekeurd doorzenden naar ingedient_MKBzoeker.php en als deze niet goed is gekeurd naar layoutpage_MKBzoeker.php

ook is het idee dat deze bij goedkeuring een mail stuurt naar een mailadres met hierin de inschrijving met daarin de gegevens van het aanmeldformulier.

het probleem is hierbij dat de validation helemaal niks doet, maar gewoon een wit scherm teruggeeft.

kunnen jullie me hiermee helpen?

De code van de validation.php is als volgt:



<?php

class Validation
{
protected $POST = array();
public $rules = array();
public $fields = array();
public $required = array('Bedrijfsnaam' , 'Adres' , 'Woonplaats' , 'Telefoonnummer' , 'email' , 'Website' );
public $errors = array();

public function __construct($post)
{
$this->POST = $post;
}

public function set_rule($field, $label, $exp, $required)
{
$this->rules[$field] = $exp;
$this->fields[$field] = $label;
}

public function run()
{
foreach($this->rules as $field => $expression)
{
$keys = array_keys($this->POST);
if(!in_array($field, $keys))
{
$this->_error_message($field, "You are missing the %d field");
return FALSE;
}
if(!empty($expression))
{
if(preg_match($expression, $this->POST[$field]))
{
return TRUE;
}
else
{
exit (header("Location:http://localhost/MKBzoeker2012/layoutpage_MKBzoeker.php?";));
}

}

return TRUE;

}

/*private function _error_message($field , $message);
{
$this->errors[$field] = $message
}*/

$validation = new Validation($_POST);

$validation->set_rule('Bedrijfsnaam', 'Bedrijfsnaam', "/^[A-Za-z .'-]+$/", 'Bedrijfsnaam');
$validation->set_rule('Adres', 'Adres', "/^[A-Za-z]+\ [0-9]$/", 'Adres');
$validation->set_rule('Woonplaats', 'Woonplaats', "/^[A-Za-z .'-]+$/", 'Woonplaats');
$validation->set_rule('Telefoonnummer', 'Telefoonnummer', "/^[0-9]+$/", 'Telefoonnummer');
$validation->set_rule('email', 'email', "/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/", 'email');
$validation->set_rule('Website', 'Website', "/^[a-z]+\.[A-Za-z.-]+\.[A-Za-z]{2,4}$/", 'Website');
$validation->set_rule('Extra', 'Extra');

if ($validation->run() === TRUE)
{
exit (header("Location:http://localhost/MKBzoeker2012/ingedient_MKBzoeker.php?";));
}
else
{
var_dump($validation->errors);

return (header("Location:http://localhost/MKBzoeker2012/layoutpage_MKBzoeker.php?";));
}

foreach($_POST as $key => $value)
{

}

if(!in_array($required, $_POST))
{

}

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = '[email protected]';
$email_subject = "Nieuwe aanmelding voor MKBzoeker";
$email_message = "From details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "Bedrijfsnaam: ".clean_string($Bedrijfsnaam)."\n";
$email_message .= "Adres: ".clean_string($Adres)."\n";
$email_message .= "Woonplaats: ".clean_string($Woonplaats)."\n";
$email_message .= "Telefoonnummer: ".clean_string($Telefoonnummer)."\n";
$email_message .= "email: ".clean_string($Emailadres)."\n";
$email_message .= "Website: ".clean_string($Website)."\n";
$email_message .= "Extra: ".clean_string($Telefoonnummer)."\n";

}}
?>




Alvast vriendelijk bedankt!
Waar slaat die titel op? Je zit op een forum, waar men vrijwillig elkaar helpt als men tijd heeft.
- Aar - op 20/09/2012 10:54:22

Waar slaat die titel op? Je zit op een forum, waar men vrijwillig elkaar helpt als men tijd heeft.


De titel slaat erop dat ik op stage zit en de website binnen nu en 3 werkdagen online moet..

[size=xsmall]Toevoeging op 20/09/2012 10:56:40:[/size]

heb hem al veranderd ;)
Pas graag je titel even aan. We werken hier vrijwillig en op zijn tijd.....
- Aar - op 20/09/2012 10:57:54

Pas graag je titel even aan. We werken hier vrijwillig en op zijn tijd.....


gedaan :)
Error_reporting en display_errors al aangezet?
Regel 24: Foreach() .... Waar sluit je die af?
- SanThe - op 20/09/2012 11:36:48

Regel 24: Foreach() .... Waar sluit je die af?


Op regel 47 ... en de public function run() op regel 22 eindigt op regel 103
De foreach() op regel 24 heeft weinig zin omdat je die altijd in de eerste loop zal verlaten bij de return op regel 45.

Reageren