Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[php] Dropdown menu in mailform?

Pagina: 1
Acties:
  • 56 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik heb op internet de volgende mailform gevonden:

code:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<? 
// geef e-mail adres op van ontvanger 
$mail_ontv = "mijn@emailadres.nl";

// is niet 100% !!! 
function checkmail($mail) 
{ 
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1']; 
    $email_resolved = gethostbyname($email_host); 

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
        $valid = 1; 

    return $valid; 
} 

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is 
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) 
{ 
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    { 
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; 
    } 
      
    // form + tabel 
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; 
    echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">"; 
      
    // naam 
    echo "<tr><td>Naam:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>E-mail adres:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Onderwerp:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Bericht:</td></tr>"; 
    echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // button 
    echo "<tr><td>&nbsp;</td></tr>"; 
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"; 
      
    // sluit form + tabel 
    echo "</form>"; 
    echo "</table>"; 
} 
// versturen naar 
else 
{      
    // set datum 
    $datum = date("d.m.Y H:i"); 
      
    // set ip 
    $ip = $_SERVER['REMOTE_ADDR']; 
      
    $inhoud_mail = "===================================================\n"; 
    $inhoud_mail .= "Ingevulde contact formulier\n"; 
    $inhoud_mail .= "===================================================\n\n"; 
    
    $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";

    $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n"; 
    $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n"; 
    $inhoud_mail .= "Bericht:\n"; 
    $inhoud_mail .= $_POST['msggs'] . "\n\n"; 
      
    $inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n"; 
      
    $inhoud_mail .= "===================================================\n\n"; 
    
    // -------------------- 
    // spambot protectie 
    // ------ 
    // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ 
    // ------ 
    
    $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
    
    $headers = stripslashes($headers);
    $headers = str_replace("\n", "", $headers); // Verwijder \n 
    $headers = str_replace("\r", "", $headers); // Verwijder \r 
    $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes 
    
    $_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n 
    $_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r 
    $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes 
     
    mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers); 
     
    echo "<h1>Je e-mail is verstuurd</h1>";
    
    echo "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "; 
    echo "krijgen indien dit nodig is.</p>"; 
     
    echo "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "; 
    echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>"; 
} 
?>


Nu is mijn vraag hoe ik bij het onderwerp in plaats van een tekstbalk een dropdown menu kan maken...

het lukt me gewoon niet

Groeten van Vleesboon

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Een basiscursusje HTML nemen :)

Op www.w3schools.com staan een aantal zeer goede. Een hint in de juiste richting: <select> en <option>.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • Arjan90
  • Registratie: September 2005
  • Laatst online: 12:48
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
// mail 
    echo "<tr><td>Onderwerp:</td></tr>"; 
    echo "<tr><td><select name=\"onderwerp\">
<option value=\"general\"";
    if ($_POST['onderwerp']=="general") { echo " SELECTED"; }
    echo ">General</option>
<option value=\"services\"";
    if ($_POST['onderwerp']=="services") { echo " SELECTED"; }
    echo ">Services</option>
<option value=\"other\"";
    if ($_POST['onderwerp']=="other") { echo " SELECTED"; }
    echo ">Other</option></select></td></tr>";


Dat zou het moeten doen denk ik, even snel gedaan dus eventuele kleine bugs moeten er mogelijk uitgehaald worden..

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."


Verwijderd

Topicstarter
CodeCaster schreef op maandag 13 augustus 2007 @ 22:20:
Een basiscursusje HTML nemen :)

Op www.w3schools.com staan een aantal zeer goede. Een hint in de juiste richting: <select> en <option>.
ik weet hoe html werkt,

maar het lukt me niet om de gekozen optie als $onderwerp te weergeven...

  • mithras
  • Registratie: Maart 2003
  • Niet online
Sp!tF!re schreef op maandag 13 augustus 2007 @ 22:23:
[code]

Dat zou het moeten doen denk ik, even snel gedaan dus eventuele kleine bugs moeten er mogelijk uitgehaald worden..
Voor meerdere if/else in een dergelijke constructie zou ik voor een switch gaan.

@TS: Als je weet hoe html werkt, moet je er met http://php.net/manual en met name http://php.net/echo en http://php.net/switch wel uit moeten komen ;)

Verwijderd

Verwijderd schreef op maandag 13 augustus 2007 @ 22:24:
[...]


ik weet hoe html werkt,

maar het lukt me niet om de gekozen optie als $onderwerp te weergeven...
Wat heb je al geprobeerd dan? Nu wordt de variabele 'onderwerp' ingevuld door een textfield (<input type="text" />). Het is natuurlijk 1 en 1 bij elkaar optellen om erachter te komen hoe je diezelfde variabele door middel van een <select> mee kan geven...

Aangezien je weet hoe html werkt ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Sorry, maar we geven in Programming geen support op scripts van anderen; we programmeren onze eigen software. Daarnaast is het hier niet gebruikelijk om een lap code te posten met de melding "fix het maar voor me" (kort samengevat).

Een basiscursusje PHP (want meer dan een eenvoudige "if" heb je niet nodig) zou voldoende moeten zijn om hier zelf een oplossing voor te kunnen verzinnen. Dit topic gaat dan ook dicht. :)

Zie ook Programming Beleid - De "quickstart" :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.