2 actions in 1 formulier
Ik heb een formulier die naar een php file refereert omdat de gegevens die ik in dat formulier invul in mijn mailbox terecht moet komen, dit werkt met een action="aanvraag.php"
Nu heb ik van internet een captcha gevonden die ik in dat formulier wil inbrengen.
Nu zit daar een check op en die verwijst weer naar write.php
Nu moet dus het formulier 2 actions pakken, de eerste om het ingevulde naar de mail te krijgen en 1 om de captcha te checken. Nu werkt de captcha niet als ik iets fout intype. Ik heb getracht het "write.php" onder de EOD te zetten maar daarop gaf hij ook een foutmelding.
Heeft iemand een idee hoe ik dit kan oplossen? Ik denk dat er een makkelijke oplossing is maar die heb ik nog niet gevonden.
Wellicht kan ik 2 formulieren maken, maar of dat werkt..
<form action="aanvraag.php"</form> (hier de mailform in)
<form action="write.php"</form> <hier de captcha in)
Je kan het beste de acties samenvoegen tot 1 bestand.
include 'write.php';
Wanneer alles is ingevuld geeft hij een pagina weer waarin ik iets bevestig.
Ik wil eigenlijk dat hij gaat kijken of alles wat ik wil is ingevuld en of de captcha code goed is. Als dat klopt moet hij een pagina openen en als de captcha niet goed is een andere pagina openen.
Wanneer ik de include invoeg doet hij het niet, ook niet als ik de include tussen de EOD zet.
Dit is het aanvraag script:
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
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
<?php
include 'write.php';
/* Subject and Email Variables */
$emailSubject = 'Aanvraag proef PDF';
$webMaster = '[email protected]';
/* Gathering Data Variables */
$kaartField = $_POST['kaart'];
$naamField = $_POST['naam'];
$adresField = $_POST['adres'];
$postcodeField = $_POST['postcode'];
$woonplaatsField = $_POST['woonplaats'];
$telnoField = $_POST['telno'];
$emailField = $_POST['email'];
$uitgerekendField = $_POST['uitgerekend'];
$naamkidsField = $_POST['naamkids'];
$geslachtField = $_POST['geslacht'];
$trouwdatumField = $_POST['trouwdatum'];
$tekstField = $_POST['tekst'];
$gevondenField = $_POST['gevonden'];
$body = <<<EOD
<br><hr><br>
Aangevraagd kaartje: $kaartField <br>
Naam: $naamField <br>
Adres: $adresField <br>
Postcode: $postcodeField <br>
Woonplaats: $woonplaatsField <br>
Telefoonnummer: $telnoField <br>
Email: $emailField <br>
Uitrekendatum: $uitgerekendField <br>
Naam kind: $naamkidsField <br>
Geslacht: $geslachtField <br>
Datum trouwen/adoptie/geboorte: $trouwdatumField <br>
Tekst: $tekstField <br>
Naam gevonden: $gevondenField <br>
EOD;
$headers = "From: $emailField\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail ($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$Resultaat = <<<EOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bedankt</title>
</head>
<body>
<div>
<div align="left">Bedankt voor uw bestelling. Binnenkort ontvangt u de proefdruk in uw mailbox.</div><br />
<div align="left"><a href="http://www.flinth-design.nl">Terug naar de hoofdpagina.</a></div>
</div>
</body>
</html>
EOD;
echo "$Resultaat";
?>
include 'write.php';
/* Subject and Email Variables */
$emailSubject = 'Aanvraag proef PDF';
$webMaster = '[email protected]';
/* Gathering Data Variables */
$kaartField = $_POST['kaart'];
$naamField = $_POST['naam'];
$adresField = $_POST['adres'];
$postcodeField = $_POST['postcode'];
$woonplaatsField = $_POST['woonplaats'];
$telnoField = $_POST['telno'];
$emailField = $_POST['email'];
$uitgerekendField = $_POST['uitgerekend'];
$naamkidsField = $_POST['naamkids'];
$geslachtField = $_POST['geslacht'];
$trouwdatumField = $_POST['trouwdatum'];
$tekstField = $_POST['tekst'];
$gevondenField = $_POST['gevonden'];
$body = <<<EOD
<br><hr><br>
Aangevraagd kaartje: $kaartField <br>
Naam: $naamField <br>
Adres: $adresField <br>
Postcode: $postcodeField <br>
Woonplaats: $woonplaatsField <br>
Telefoonnummer: $telnoField <br>
Email: $emailField <br>
Uitrekendatum: $uitgerekendField <br>
Naam kind: $naamkidsField <br>
Geslacht: $geslachtField <br>
Datum trouwen/adoptie/geboorte: $trouwdatumField <br>
Tekst: $tekstField <br>
Naam gevonden: $gevondenField <br>
EOD;
$headers = "From: $emailField\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail ($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$Resultaat = <<<EOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bedankt</title>
</head>
<body>
<div>
<div align="left">Bedankt voor uw bestelling. Binnenkort ontvangt u de proefdruk in uw mailbox.</div><br />
<div align="left"><a href="http://www.flinth-design.nl">Terug naar de hoofdpagina.</a></div>
</div>
</body>
</html>
EOD;
echo "$Resultaat";
?>
en hier het write script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();
if (md5($_POST['norobot']) == $_SESSION['randomnr2'])
{ // plaats hier php code voor geslaagde captcha
echo "Bedankt voor uw bestelling. Binnenkort ontvangt u de proefdruk in uw mailbox.
";
}
else
{ // plaats hier php code voor gefaalde captcha
echo "U hebt een foutieve code ingevoerd, probeer het opnieuw.";
}
?>
session_start();
if (md5($_POST['norobot']) == $_SESSION['randomnr2'])
{ // plaats hier php code voor geslaagde captcha
echo "Bedankt voor uw bestelling. Binnenkort ontvangt u de proefdruk in uw mailbox.
";
}
else
{ // plaats hier php code voor gefaalde captcha
echo "U hebt een foutieve code ingevoerd, probeer het opnieuw.";
}
?>
Deze 2 wil ik samenvoegen in een formulier die ergens anders staat.
dit script.
Als je alle input gevalideerd hebt, en dus ook gecontroleerd hebt of de captcha goed is ingevuld, ga je verder werken met de input. In jouw geval dus het versturen van de e-mail en het weergeven van de succes pagina.
Begin bij de basis, dus bij het afhandelen en valideren van de input uit het formulier. Bijvoorbeeld aan de hand van Als je alle input gevalideerd hebt, en dus ook gecontroleerd hebt of de captcha goed is ingevuld, ga je verder werken met de input. In jouw geval dus het versturen van de e-mail en het weergeven van de succes pagina.