Hoe keuze menu/list verzenden via contactform?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom Gerritse

Tom Gerritse

05/10/2008 20:34:00
Quote Anchor link
Ik heb een contactformuliertje (form.php) gemaakt met daarin een keuzemenuutje waarin uit drie opties kan worden gekozen. Na het invullen van het formulier wordt deze verstuurd (via contactscript.php) naar mijn mailadres.
De mail komt netjes binnen echter de gekozen optie uit het keuzemenuutje wordt niet in de mail getoond.

Het menuutje in het formulier heb ik als volgt gemaakt:

<TR>
<TD height="31" valign="top"><span class="style35">Onderwerp:</span></TD>
<td><select name="onderwerp" style="WIDTH: 270px; BACKGROUND-COLOR:#dddddd">
<option value="Ik wil een bestelling doen">Ik wil een bestelling doen</option>
<option value="Ik heb een vraag over een bestelling">Ik heb een vraag over een bestelling</option>
<option value="Ik heb een algemene vraag">Ik heb een algemene vraag</option>
</select><tr></tr>

Het bijbehorende contactscript is als volgt:

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
<?php
    // VALUES FROM THE FORM
    $name                    = $_POST['name'];
    $email                    = $_POST['email'];
    $telefoon                = $_POST['telefoon'];
    $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.swingexpress.nl/FOUT.htm");
        exit;
    }

    if ( ( !$name ) ||
         (
strlen($name) > 100 ) ||
         (
preg_match("/[:=@\<\>]/", $name) )
       )
    {

        Header("Location: http://www.swingexpress.nl/FOUT.htm");
        exit;
    }

    if ( preg_match("#cc:#i", $message, $matches) )
    {

        Header("Location: http://www.website.nl/FOUT.htm");
        exit;
    }

    if ( !$message )
    {

        Header("Location: http://www.website.nl/FOUT.htm");
        exit;
    }

    

    if (eregi("\r",$email) || eregi("\n",$email)){
        Header("Location: http://www.website.nl/FOUT.htm");
        exit;
    }

    if (FALSE) {
        Header("Location: http://www.website.nl/FOUT.htm");
        exit;
    }



    // CREATE THE EMAIL
    $headers    = "Content-Type: text/plain; charset=iso-8859-1\n";
    $headers    .= "From: $name <$email>\n";
    $recipient    = "XXXXXX@xs4all.nl";
    $subject    = "formulier";
   $message = "Reactie vanaf het mailform op de website:\n";
   $message .= "                             " . $_POST[''] . "\n";
   $message .= "  Opgegeven naam        : " . $_POST['name'] . "\n";
   $message .= "  Opgegeven e-mail        : " . $_POST['email'] . "\n";
   $message .= "                             " . $_POST[''] . "\n";
   $message .= "  Opgegeven telefoon    : " . $_POST['telefoon'] . "\n";
   $message .= "                             " . $_POST[''] . "\n";
   $message .= "  Opgegeven onderwerp    : " . $_POST['onderwerp'] . "\n";
   $message .= "                             " . $_POST[''] . "\n";
   $message .= "  Opgegeven bericht        : " . $_POST['msg'] . "\n";
   $message .= "                             " . $_POST[''] . "\n";
   $message .= "  Einde bericht              " . $_POST[''] . "\n";
 

    // SEND THE EMAIL TO YOU
    mail($recipient, $subject, $message, $headers);

    // REDIRECT TO THE THANKS PAGE
    header("location: http://www.website.nl/bedankt.htm");
?>



Ik ben al een avondje aan het zoeken naar goede voorbeelden omtrent het verzenden van de keuze uit een keuzemenu maar het wil mij maar niet duidelijk worden hoe dit moet. Hopelijk wil iemand mij helpen, waarvoor mijn dank.
 
PHP hulp

PHP hulp

16/03/2025 04:16:53
 
Thijs Damen

Thijs Damen

05/10/2008 21:09:00
Quote Anchor link
test het gewoon eens zelf door dit te plaatsen bovenaan: echo $_POST['onderwerp'];

je controleert het namelijk nergens in je script. mijn gok is dan ook dat deze gewoon leeg blijft.
 
Tom Gerritse

Tom Gerritse

05/10/2008 21:37:00
Quote Anchor link
Bedankt voor je reactie Thijs maar het is me al gelukt.

Ik heb in Dreamweaver bij Properties de keuze "List" aangevinkt i.p.v. "Menu", heb de values weggehaald en tot slot heb ik een paar veranderingen gemaakt in het formulier:

<TR>
<TD height="31" valign="top"><span class="style35">Onderwerp:</span></TD>
<td><select name="onderwerp" size="1" style="WIDTH: 270px; BACKGROUND-COLOR:#dddddd">
<option selected>---</option>
<option>Ik wil een bestelling doen</option>
<option>Ik heb een vraag over een bestelling</option>
<option>Ik heb een algemene vraag</option>
</select><tr>

Waarom het nu wel werkt weet ik niet :)
 
Ed

Ed

05/10/2008 21:50:00
Quote Anchor link
Denk dat de fout toch in dreamweaver zit hoor. Aangezien de structuur van een selectbox als volgt is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select name="FIELD IDENTIFIER"><option value="WAARDE">Tekstuele waarde</option></select>

<option value="WAARDE">Tekstuele waarde</option> kan eindeloos worden herhaald binnen de selectbox. Wil je de option als gekozen weer geven gebruik dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<option value="waarde"  SELECTED>Tekstuele waarde</option>
 



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.