Php validation code geeft wit scherm

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis van der Vlag

Dennis van der Vlag

20/09/2012 10:47:57
Quote Anchor link
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:



Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 = 'dvdvlag@noordoostfriesland.nl';
    $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
 
PHP hulp

PHP hulp

06/05/2021 23:23:22
 
- Ariën -
Beheerder

- Ariën -

20/09/2012 10:54:22
Quote Anchor link
Waar slaat die titel op? Je zit op een forum, waar men vrijwillig elkaar helpt als men tijd heeft.
 
Dennis van der Vlag

Dennis van der Vlag

20/09/2012 10:55:47
Quote Anchor link
- 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 ;)
 
- Ariën -
Beheerder

- Ariën -

20/09/2012 10:57:54
Quote Anchor link
Pas graag je titel even aan. We werken hier vrijwillig en op zijn tijd.....[/S]
Gewijzigd op 20/09/2012 10:58:56 door - Ariën -
 
Dennis van der Vlag

Dennis van der Vlag

20/09/2012 10:59:10
Quote Anchor link
- 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 :)
 
- Ariën -
Beheerder

- Ariën -

20/09/2012 11:04:28
Quote Anchor link
Error_reporting en display_errors al aangezet?
 
Johnny hertogs

johnny hertogs

20/09/2012 11:08:56
Quote Anchor link
if ($validation->run() === TRUE)
{
exit (header("Location:http://localhost/MKBzoeker2012/ingedient_MKBzoeker.php?"));
}

moet die exit daar niet weg?
 
- SanThe -

- SanThe -

20/09/2012 11:36:48
Quote Anchor link
Regel 24: Foreach() .... Waar sluit je die af?
 
Marvin H

Marvin H

20/09/2012 11:41:58
Quote Anchor link
- 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
 
- SanThe -

- SanThe -

20/09/2012 11:52:36
Quote Anchor link
De foreach() op regel 24 heeft weinig zin omdat je die altijd in de eerste loop zal verlaten bij de return op regel 45.
 
Dennis van der Vlag

Dennis van der Vlag

20/09/2012 11:53:29
Quote Anchor link
thanks mensen, het werkt! :)
 
- SanThe -

- SanThe -

20/09/2012 11:55:03
Quote Anchor link
Graag ook even de oplossing vermelden.
 
Dennis van der Vlag

Dennis van der Vlag

20/09/2012 12:04:39
Quote Anchor link
Dit stuk zat bij de class in, maar elke class moet apart staan en niet een class in een class.
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 = 'dvdvlag@noordoostfriesland.nl';
$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";

}}
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.