Gegevens formulier in html e-mailen
Ik heb in html een formulier gemaakt waarna de ingevulde gegevens per e-mail worden verzonden en automatisch een nieuwe pagina tevoorschijn komt met een mooi overzicht van de ingevulde gegegevens. Dat werkt allemaal prima.
Nu wil ik dat de ingevulde gegevens die per e-mail worden verzonden niet allemaal onder elkaar komen te staan, maar als een html e-mail worden verzonden.
Dus dat het formulier wat ze ingevuld hebben op de website ook eigenlijk met dezelfde soort lay-out per e-mail binnen komt met de ingevulde gegevens.
IS ER IEMAND DIE MIJ OPWEG KAN HELPEN ??
Op deze site phphulp.nl heb ik bijna geen informatie hierover gevonden.
Hieronder heb ik het php script staan wat ik gebruik:
--------------------------------------------------------
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
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
<?php
$domain = "testdomeinnaam.nl";
$date = date("D M j G:i:s T Y");
$body .= "Below is the information submitted on $date\n";
$body .= "---------------------------------------------------------------------\n\n";
foreach($_POST as $key => $value) {
if ($key != "recipient" || $key != "subject" || $key != "Senden" || $key != "Send" || $key != "thankurl")
$body .= "$key: $value\n";
else
${$key} = $value;
}
if (!$recipient)
!$recipient = "[email protected]";
if (!$username)
$username = "[email protected]";
if (!$subject)
$subject = "Test";
if (!$_SERVER['HTTP_REFERER'])
die("This is not an open relay");
if (!strstr($_SERVER['HTTP_REFERER'], $domain))
die("You are not authorized to use this script");
mail($recipient, $subject, $body, "From: $username");
?>
$domain = "testdomeinnaam.nl";
$date = date("D M j G:i:s T Y");
$body .= "Below is the information submitted on $date\n";
$body .= "---------------------------------------------------------------------\n\n";
foreach($_POST as $key => $value) {
if ($key != "recipient" || $key != "subject" || $key != "Senden" || $key != "Send" || $key != "thankurl")
$body .= "$key: $value\n";
else
${$key} = $value;
}
if (!$recipient)
!$recipient = "[email protected]";
if (!$username)
$username = "[email protected]";
if (!$subject)
$subject = "Test";
if (!$_SERVER['HTTP_REFERER'])
die("This is not an open relay");
if (!strstr($_SERVER['HTTP_REFERER'], $domain))
die("You are not authorized to use this script");
mail($recipient, $subject, $body, "From: $username");
?>
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail = mail($repicient, $subject, $body, $headers);
Inmiddels heb ik i.c.m. met bovenstaande php code het e.e.a. gemaakt. Het werkt perfect, alleen komen mijn variabelen niet in mijn html e-mail te staan.
Het volgende komt er te staan:
--------------------------------------
De waarde is:
(dus zonder de waarde zelf)
--------------------------------------
Als ik de variabele als subject gebruik, dan werkt het wel, maar dus niet in het bericht zelf.
Zie onderstaande als voorbeeld:
--------------------------------------
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
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
<?php
$to = '[email protected]' . ', ';
subject = 'Test';
$veld1=($_POST['test1']);
$message = '
<html>
<head>
<title>Test</title>
</head>
<body>
De waarde is: <?php echo "$veld1" ?>
</body>
</html>
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: NL <[email protected]>, NL 1 <[email protected]>' . "\r\n";
$headers .= 'From: Test <[email protected]>' . "\r\n";
mail($to, $subject, $message, $headers);
?>
$to = '[email protected]' . ', ';
subject = 'Test';
$veld1=($_POST['test1']);
$message = '
<html>
<head>
<title>Test</title>
</head>
<body>
De waarde is: <?php echo "$veld1" ?>
</body>
</html>
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: NL <[email protected]>, NL 1 <[email protected]>' . "\r\n";
$headers .= 'From: Test <[email protected]>' . "\r\n";
mail($to, $subject, $message, $headers);
?>
php:
De waarde is:
Het is al PHP waarin je werkt, dus dat hoeft er niet bij...
gewoon $veld1 is goed...
volgens mij moet je in het bericht een variabele zo zetten: '.$veld1.'
Zou goed kunnen, ik werk nooit met enkele quotes (zo heten die '-dingen toch?) met dubbele werkt het iig als je het gewoon zo $veld1 opschrijft...
Het moet met: '.$veld1.'
In indergeval bedankt voor de informatie die jullie hier gegeven hebben.
Erg handig als je tegen probleempjes aanloopt.