Php validation code geeft wit scherm
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?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";
}}
?>
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!
Gewijzigd op 20/09/2012 10:56:24 door Dennis van der Vlag
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..
Toevoeging op 20/09/2012 10:56:40:
heb hem al veranderd ;)
Gewijzigd op 20/09/2012 10:58:56 door - Ariën -
- Aar - op 20/09/2012 10:57:54:Pas graag je titel even aan. We werken hier vrijwillig en op zijn tijd.....[/S]
[/quote]
gedaan :)
[/quote]
gedaan :)
Error_reporting en display_errors al aangezet?
{
exit (header("Location:http://localhost/MKBzoeker2012/ingedient_MKBzoeker.php?"));
}
moet die exit daar niet weg?
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.
thanks mensen, het werkt! :)
Graag ook even de oplossing vermelden.
Daardoor werkte dit niet.
De $validation werdt niet uitgevoerd omdat hij in de andere class stond.
$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";
}}
?>