Extra velden in form mail invoegen
Onderstaand kun je het script lezen. Als extra heb ik de invulvelden "telefoon", "fax" en "onderwerp" ingevoegd. Wanneer ik het script uittest dan worden deze drie zaken niet in de mail geplaatst die naar mij wordt gezonden.
Wat doe ik fout (ik heb in de form de velden dus wel de namen fax, telefoon en onderwerp gegeven)?
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
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
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = wordwrap($message, 1024)\n";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers, $telefoon, $fax, $onderwerp);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = wordwrap($message, 1024)\n";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers, $telefoon, $fax, $onderwerp);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>
Dit slaat natuurlijk helemaal nergens op. Kijk eens naar de mail() functie op php.net en dan met name naar de parameters die deze functie accepteert.
Als je wilt dat $telefoon, $fax en $onderwerp in het mailtje komen te staan dat naar jou gestuurd wordt, zul je die in het bericht op moeten nemen...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Dit zou het dan moeten worden:
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
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
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp = $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = wordwrap($message, 1024)\n";
$message .= "$telefoon:\n\n";
$message .= "$fax:\n\n";
$message .= "$onderwerp:\n\n";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp = $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = wordwrap($message, 1024)\n";
$message .= "$telefoon:\n\n";
$message .= "$fax:\n\n";
$message .= "$onderwerp:\n\n";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>
Echter dat wilde ook al niet werken.
Gewijzigd op 01/01/1970 01:00:00 door Tom Gerritse
ps. Verder denk ik dat je ook nog wel wat opmaak toe zult moeten voegen. Je plakt het nu gewoon direct achter elkaar, en dat lijkt me niet echt handig. Echo $message eens tijdens het bouwen van je script, dan zie je hoe het eruit komt te zien.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Je bent al een stap te ver op mijn verhaal... :) Het werkt namelijk nog steeds niet. Ik heb op PHP.NET gezocht en hier staan legio voorbeelden van forms maar ik kan nergens een voorbeeld vinden waarbij er meerdere "Messages" in een form kunnen worden verzonden. Kan iemand mij a.u.b. een voorbeeld geven hoe ik in mijn geval de telefoon, fax en opmerkingen kan toevoegen aan de $message die verzonden moet worden...
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$message = 'Onderwerp: '.$_POST['onderwerp']."\n";
$message .= 'Telefoon: '.$_POST['telefoon']."\n";
$message .= 'Fax: '.$_POST['fax']."\n";
$message .= 'Bericht: '.$_POST['msg'];
?>
$message = 'Onderwerp: '.$_POST['onderwerp']."\n";
$message .= 'Telefoon: '.$_POST['telefoon']."\n";
$message .= 'Fax: '.$_POST['fax']."\n";
$message .= 'Bericht: '.$_POST['msg'];
?>
En vervolgens kun je $message opnemen in je mail() functie.
ps. Die \n zorgt voor een line-break zodat niet alles achter elkaar komt te staan. Als je een html mailtje schrijft gebruik je hier uiteraard <br> voor.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Maar goed. mede dankzij Blanche (bedankt!) ben ik tot het volgende gekomen (het is nog niet helemaal klaar maar het begin is er nu):
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
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
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = "Reactie vanaf het mailform op de website:\n";
$message .= " Opgegeven naam : " . $_POST['name'] . "\n";
$message .= " Opgegeven e-mail : " . $_POST['email'] . "\n";
$message .= " Opgegeven telefoon : " . $_POST['telefoon'] . "\n";
$message .= " Opgegeven fax : " . $_POST['fax'] . "\n";
$message .= " Opgegeven onderwerp : " . $_POST['onderwerp'] . "\n";
$message .= " Opgegeven bericht : " . $_POST['msg'] . "\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if ( !$message )
{
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
if (FALSE) {
Header("Location: http://www.xxx.nl/FOUT.htm");
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "formulier van xxx.nl";
$message = "Reactie vanaf het mailform op de website:\n";
$message .= " Opgegeven naam : " . $_POST['name'] . "\n";
$message .= " Opgegeven e-mail : " . $_POST['email'] . "\n";
$message .= " Opgegeven telefoon : " . $_POST['telefoon'] . "\n";
$message .= " Opgegeven fax : " . $_POST['fax'] . "\n";
$message .= " Opgegeven onderwerp : " . $_POST['onderwerp'] . "\n";
$message .= " Opgegeven bericht : " . $_POST['msg'] . "\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.xxx.nl/bedankt.htm");
?>