Php formulier verwerking
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)
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
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 !";
}
?>
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?
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.
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.
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)
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)
Gewijzigd op 13/04/2013 16:43:55 door Erwin H
heb empty gebruikt. erwin H kga nog eerst even expirimenteren met de andere oplossing
in ieder geval bedankt @landleven tips en Erwin H