Email formulier met radio button
In mijn formulier staat:
"Neem contact op via: email telefoon"
En in de mail die ik krijg vanuit het formulier staat alleen
"Neem contact op via: "
De gekozen optie wordt niet mee gestuurd.
Ik heb een app gedownload dat het verzenden voor mij regelt, maar ik krijg de 'contactscript.php' niet zo ver dat de resultaten van de radio button worden meegestuurd. Ik heb al heel veel gezocht op internet en er worden veel suggesties gegeven, maar ik krijg het niet voor elkaar. Als je dit al hebt gedaan, kan het mij misschien veel tijd besparen als je mij de juiste richting in wijst. Let wel, ik weet nog amper iets van deze materie. Mocht het een kleine stomme fout van mij zijn, van alvast mijn excuses. Ik ben er echter al een hele dag mee bezig en het lukt me maar niet. Alvast bedankt voor je moeite,
Heleen
Dit is de HTML:
Neem contact met mij op via:<br>
<INPUT TYPE=radio NAME=”contact” VALUE=”telefoon”> telefoon <br>
<INPUT TYPE=radio NAME=”contact” VALUE=”email”> email
Dit is de het contactscript.php:
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
72
73
74
75
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
72
73
74
75
<?php
// VALUES FROM THE FORM
$naam = $_POST['naam'];
$zorginstelling = $_POST['zorginstelling'];
$functie = $_POST['functie'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$contact = $_POST['contact[]'];
$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) )
)
{
print "Error: Onjuist email adres";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$naam )
{
print "Error: Geen naam ingevuld";
exit;
}
if ( !$zorginstelling )
{
print "Error: Geen zorginstelling ingevuld";
exit;
}
if ( !$functie )
{
print "Error: Geen functie ingevuld";
exit;
}
if ( !$telefoonnummer )
{
print "Error: Geen telefoonnummer ingevuld";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Onjuist email adres";
exit;
}
if (FALSE) {
print "Error: Je kunt geen email verzenden vanuit hetzelfde domein.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $naam <$email>\n";
$recipient = " email";
$subject = "Wilt u contact met mij opnemen?";
$message .= 'Naam: '.$_POST['naam']."\n";
$message .= 'Zorginstelling: '.$_POST['zorginstelling']."\n";
$message .= 'Functie: '.$_POST['functie']."\n";
$message .= 'Telefoonnummer: '.$_POST['telefoonnummer']."\n";
$message .= 'Email: '.$_POST['email']."\n";
$message .= 'Contact: '.$_POST['contact']."\n";
$message .= 'Opmerking: '.$_POST['msg']."\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers,);
// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>
// VALUES FROM THE FORM
$naam = $_POST['naam'];
$zorginstelling = $_POST['zorginstelling'];
$functie = $_POST['functie'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$contact = $_POST['contact[]'];
$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) )
)
{
print "Error: Onjuist email adres";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$naam )
{
print "Error: Geen naam ingevuld";
exit;
}
if ( !$zorginstelling )
{
print "Error: Geen zorginstelling ingevuld";
exit;
}
if ( !$functie )
{
print "Error: Geen functie ingevuld";
exit;
}
if ( !$telefoonnummer )
{
print "Error: Geen telefoonnummer ingevuld";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Onjuist email adres";
exit;
}
if (FALSE) {
print "Error: Je kunt geen email verzenden vanuit hetzelfde domein.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $naam <$email>\n";
$recipient = " email";
$subject = "Wilt u contact met mij opnemen?";
$message .= 'Naam: '.$_POST['naam']."\n";
$message .= 'Zorginstelling: '.$_POST['zorginstelling']."\n";
$message .= 'Functie: '.$_POST['functie']."\n";
$message .= 'Telefoonnummer: '.$_POST['telefoonnummer']."\n";
$message .= 'Email: '.$_POST['email']."\n";
$message .= 'Contact: '.$_POST['contact']."\n";
$message .= 'Opmerking: '.$_POST['msg']."\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers,);
// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>
als je op regel 8 die [] is weghaalt, wat krijg je dan?
(eerst was het een checkbox, maar dat werkte ook niet, zelfde probleem, dus ik dacht: misschien werkt een radio button wel...)
zou je dan de goede code zoals je die nu gebruikt ipv deze willen posten. dan hebben we hier meer aan en kunnen we je sneller helpen.
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
72
73
74
75
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
72
73
74
75
<?php
// VALUES FROM THE FORM
$naam = $_POST['naam'];
$zorginstelling = $_POST['zorginstelling'];
$functie = $_POST['functie'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$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) )
)
{
print "Error: Onjuist email adres";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$naam )
{
print "Error: Geen naam ingevuld";
exit;
}
if ( !$zorginstelling )
{
print "Error: Geen zorginstelling ingevuld";
exit;
}
if ( !$functie )
{
print "Error: Geen functie ingevuld";
exit;
}
if ( !$telefoonnummer )
{
print "Error: Geen telefoonnummer ingevuld";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Onjuist email adres";
exit;
}
if (FALSE) {
print "Error: Je kunt geen email verzenden vanuit hetzelfde domein.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $naam <$email>\n";
$recipient = "email";
$subject = "Wilt u contact met mij opnemen?";
$message .= 'Naam: '.$_POST['naam']."\n";
$message .= 'Zorginstelling: '.$_POST['zorginstelling']."\n";
$message .= 'Functie: '.$_POST['functie']."\n";
$message .= 'Telefoonnummer: '.$_POST['telefoonnummer']."\n";
$message .= 'Email: '.$_POST['email']."\n";
$message .= 'Contact: '.$_POST['contact']."\n";
$message .= 'Opmerking: '.$_POST['msg']."\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>
// VALUES FROM THE FORM
$naam = $_POST['naam'];
$zorginstelling = $_POST['zorginstelling'];
$functie = $_POST['functie'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$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) )
)
{
print "Error: Onjuist email adres";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$naam )
{
print "Error: Geen naam ingevuld";
exit;
}
if ( !$zorginstelling )
{
print "Error: Geen zorginstelling ingevuld";
exit;
}
if ( !$functie )
{
print "Error: Geen functie ingevuld";
exit;
}
if ( !$telefoonnummer )
{
print "Error: Geen telefoonnummer ingevuld";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Onjuist email adres";
exit;
}
if (FALSE) {
print "Error: Je kunt geen email verzenden vanuit hetzelfde domein.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $naam <$email>\n";
$recipient = "email";
$subject = "Wilt u contact met mij opnemen?";
$message .= 'Naam: '.$_POST['naam']."\n";
$message .= 'Zorginstelling: '.$_POST['zorginstelling']."\n";
$message .= 'Functie: '.$_POST['functie']."\n";
$message .= 'Telefoonnummer: '.$_POST['telefoonnummer']."\n";
$message .= 'Email: '.$_POST['email']."\n";
$message .= 'Contact: '.$_POST['contact']."\n";
$message .= 'Opmerking: '.$_POST['msg']."\n";
$message .= "-- \nEinde bericht ";
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>
HTML code op de site is:
Neem contact met mij op via:<br>
<INPUT TYPE=radio NAME=”contact” VALUE=”telefoon”> telefoon <br>
<INPUT TYPE=radio NAME=”contact” VALUE=”email”> email
Gewijzigd op 06/04/2012 15:30:06 door Heleen van N
<input type="radio"NAME="contact">Teledoon
en niet
<input type=radio"NAME="contact">telefoon"
en je gebruikt preg_match dat is goed en onderaan het script gebruik je opeens eregi waarom? eregi is verouderd
haal alsjeblieft ook je email adress uit je POST of wil je overvallen worden met spam?
Ik heb de app "Contact Form" gedownload. Die heeft voor mij in mijn webhosting programma de code geproduceerd. Ik heb dat vervolgens uitgebreid met mijn eigen velden en vertaling van de foutmeldingen gemaakt.
De haakjes heb ik toegevoegd.
Toevoeging op 06/04/2012 15:30:44:
Reshadd farid op 06/04/2012 15:27:18:
haal alsjeblieft ook je email adress uit je POST of wil je overvallen worden met spam?
Nee, liever niet. Te snel gecopied-paste.
echo $_POST['contact']; eens.
Wat andere vragen/opmerkingen:
waarom kopieer je alle variabelen? Regel 3 t/m 9.
Zodra iemand iets fout invult stopt het script (exit). Je geeft dus maximaal 1 melding, terwijl er mogelijk meerdere velden niet juist zijn ingevuld.
Waar ik een exit zou verwachten, na header, staat er geen.
Ik twijfel of je alle headers wel juist hebt; kijk/ gebruik liever phpmailer of swiftmailer.
Ben erachter dat het werkelijk mijn pet te boven gaat dus ga even kijken of ik een professional bij kan betrekken die het gewoon voor me kan aanpassen (moet namelijk volgende week al af zijn).
Hiervoor kan je een vacature plaatsen hier op de website, ik denk dat je goedkoper uit bent dan bij een "professional" . :-)
Reshadd farid op 06/04/2012 17:04:02:
Als je hier komt met Code dit hier in het forum neer kwakt dan Helpen we je hierbij, niemand zal de code voor je schrijven.
Hiervoor kan je een vacature plaatsen hier op de website, ik denk dat je goedkoper uit bent dan bij een "professional" . :-)
Hiervoor kan je een vacature plaatsen hier op de website, ik denk dat je goedkoper uit bent dan bij een "professional" . :-)
Ik verwachtte ook niet dat iemand het voor me zou schrijven hoor. Ik dacht alleen dat de oplossing misschien vrij simpel was. Dat zelfs ik het zou kunnen.
En met "professional" bedoel ik ook gewoon iemand die het vaker heeft gedaan. Omdat ik me gewoon realiseer dat ik het niet zelf kan. Kijk nog even in mijn netwerk rond, en anders misschien hier bij vacatures. Bedankt voor de tip!