Php formulier verwerking

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nicky de maeyer

nicky de maeyer

13/04/2013 16:36:11
Quote Anchor link
Hey

heb een klein probleempje met een formulier.
deze verwerkt zoals het hoort. Maar wanneer je niets invoegt
handeld de php verwerker toch het formulier af zonder te zeggen dat je het formulier moet invullen.

blijkbaar iets verkeerd gedaan. Maar ik vind niet wat:S

hierbij de code van het verwerkging.

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
<?php  
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (!isset($_POST['voornaam'])) {
        $error = "voornaam is niet ingevuld<BR />";
    }

    if (!isset($_POST['achternaam'])) {
        $error .= "naam is niet ingevuld<BR />";
    }

    if (!isset($_POST['adres'])) {
        $error .= "adres is niet ingevuld<BR />";
    }

      if (!isset($_POST['postcode'])) {
        $error .= "Postcode is niet ingevuld<BR />";
    }

      if (!isset($_POST['gemeente'])) {
        $error .= "Gemeente is niet ingevuld<BR />";
    }

      if (!isset($_POST['tel'])) {
        $error .= "telefoonnr. is niet ingevuld<BR />";
    
    }

     if (!isset($_POST['e-mail'])) {
        $error .= "e-mail is niet ingevuld<BR />";  
    }

    if (!isset($_POST['opmerkingen'])) {
        $error .= "Uw vraag of opmerking is niet ingevuld<BR />";
    }

    
    if (!isset($error)) {

        $bericht  .= " Voornaam:
        "
. $_POST['voornaam']."
        Achtenaam:
        "
.$_POST['achternaam']."
        adres:
        "
.$_POST['adres']."
        Postcode:
        "
.$_POST['postcode']."
        gemeente
        "
.$_POST['gemeente']."
        telefoonnr:
        "
.$_POST['tel']."
        e-mail:
        "
.$_POST['e-mail']."
        Vraag:
        "
.$_POST['opmerkingen'];
      
       mail ("***@***.com", "contact formulier ", $bericht, "FROM: ****.be");
       echo ""; header('Refresh: 3; url=cont.php');
          
    }
else {
    
        echo "Gelieve alle formuliervelden in te vullen !<BR /><BR />";
        echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
        
    }
    
}
else {
    
    echo "U moet eerst het formulier invullen !";

}

?>


kunnen jullie me helpen?
 
PHP hulp

PHP hulp

28/03/2024 10:17:17
 
Landleven Tips

Landleven Tips

13/04/2013 16:41:38
Quote Anchor link
Hallo,

Je kan beter !isset() veranderen door empty(), zo controleer je of het formulier ook echt leeg is. Voor de rest zou het dan goed moeten zijn.
 
Erwin H

Erwin H

13/04/2013 16:43:17
Quote Anchor link
isset checkt niet op inhoud. Die functie checkt alleen of de variabele bestaat en dat is 9 van de 10 keer wel het geval, ook als je niet invult. Je zal dus nog moeten controleren of de waarde van de variabele een lege string is of niet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (!isset($_POST['voornaam']) || trim( $_POST['voornaam'] ) == '' ) {
  $error = "voornaam is niet ingevuld<BR />";
}

?>

Je kunt dit ook met de functie empty doen, maar dan moet je wel de uitzonderingen kennen. Empty ziet bijvoorbeeld 0 en false ook als een lege waarde. Met gebruik van empty wordt het:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (empty($_POST['voornaam'])) {
  $error = "voornaam is niet ingevuld<BR />";
}

?>
Gewijzigd op 13/04/2013 16:43:55 door Erwin H
 
Nicky de maeyer

nicky de maeyer

13/04/2013 16:49:39
Quote Anchor link
bedankt nu werkt het. was blijkbaar een simpel foutje :D

heb empty gebruikt. erwin H kga nog eerst even expirimenteren met de andere oplossing

in ieder geval bedankt @landleven tips en Erwin H
 



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.