Email formulier met radio button

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Heleen van N

Heleen van N

06/04/2012 14:12:28
Quote Anchor link
Hallo, ik ben voor het eerst een formulier aan het maken voor verzending via mijn website. Alles gaat goed met 1 uitzondering: verzenden van het resultaat van mijn radio button in het formulier.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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");
?>
 
PHP hulp

PHP hulp

26/04/2024 17:42:37
 
Reshad F

Reshad F

06/04/2012 14:45:02
Quote Anchor link
als je op regel 8 die [] is weghaalt, wat krijg je dan?
 
Heleen van N

Heleen van N

06/04/2012 14:51:00
Quote Anchor link
Ja, dat foutje stond nog in de gekopieerde code, staat er niet in op mijn site.

(eerst was het een checkbox, maar dat werkte ook niet, zelfde probleem, dus ik dacht: misschien werkt een radio button wel...)
 
Reshad F

Reshad F

06/04/2012 14:57:33
Quote Anchor link
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.
 
Heleen van N

Heleen van N

06/04/2012 15:23:20
Quote Anchor link
Bij deze:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
 
Nick van der heijden

nick van der heijden

06/04/2012 15:24:14
Quote Anchor link
html inputs altijd met dubbel quotes
<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
 
Reshad F

Reshad F

06/04/2012 15:27:18
Quote Anchor link
haal alsjeblieft ook je email adress uit je POST of wil je overvallen worden met spam?
 
Heleen van N

Heleen van N

06/04/2012 15:29:36
Quote Anchor link
Over preg_match en eregi: ik heb geen flauw idee.
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.
 
Obelix Idefix

Obelix Idefix

06/04/2012 16:33:07
Quote Anchor link
Als je het formulier test is er wel een radio-button aan geklikt?
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.
 
Heleen van N

Heleen van N

06/04/2012 16:42:40
Quote Anchor link
Bedankt voor alle snelle reacties.

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).
 
Reshad F

Reshad F

06/04/2012 17:04:02
Quote Anchor link
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" . :-)
 
Heleen van N

Heleen van N

06/04/2012 20:12:02
Quote Anchor link
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" . :-)

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!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.