mailscript voor dropdown menu

Status
Niet open voor verdere reacties.

dejobse

Gebruiker
Lid geworden
7 jul 2008
Berichten
722
hallo,
ik ben bezig met een contactpage maar ik heb geen idee hoe je een dropdown menu in je mailscript moet zetten :confused:

Ik heb wel wat gevonden via google maar daar begrijp ik niks van dus...
dit is de code voor de rest van het mailscript
PHP:
<?php 
if($_SERVER['REQUEST_METHOD'] == "POST") { 
  $recipient = "***************@*******.****"; 
  $subject = "Website contact : " . $_POST['telefoon'] . "\n";

  dropdownmenu
  dropdownmenu
  dropdownmenu

  $header = "From: " . $_POST['naam'] ." <". $_POST['email'] .">". "\n"; 
  $mail_body .= "Naam: " . $_POST['naam'] . "\n"; 
  $mail_body .= "e-mail: " . $_POST['email'] . "\n"; 
  $mail_body .= "Telefoonnummer: " . $_POST['telefoon'] . "\n"; 
  $mail_body .= "Bericht:\n"; 
  $mail_body .= $_POST['bericht']; 
  $mail_body .= "\n\n -- Einde van het contact bericht --"; 

if(!mail($recipient, $subject, $mail_body, $header)) { 
    echo 'Er is een fout opgetreden bij het versturen van de e-mail.'; 
  } else { 
    echo 'Het bericht is verzonden.'; 
  } 
} else { 
  echo 'Direct access prohibited!'; 
}

Ik heb wel wat gevonden via google maar daar begrijp ik niks van dus...
zou er iemand me willen uitleggen hoe je dat daarin zet?

alsvast bedankt
 
als je in HTML een drop-down wilt maken, dan kun je de tag <select> gebruiken, bijvoorbeeld:
HTML:
<form action="handler.php">
  <select name="land">
    <option value="nl">Nederland</option>
    <option value="be">België</option>
    <option value="lux">Luxemburg</option>
  </select>
  <input type="submit"/>
</form>
Dat krijg je dat zo binnen in je PHP:
PHP:
<?php
  $land = $_POST['land'];
?>
Is dat wat je bedoelt?
 
Laatst bewerkt:
Als je een dropdownmenu ín je mail wilt, gaat dat alvast niet lukken..
 
Dat werkt hetzelfde als bij andere formulierwaarden. Opvragen met $_POST dus, daarin zit het value-attribuut van de betreffende dropdown.
 
$mail_body .= "dropdownmenu keuze " . $_POST['dropdownmenu keuze'] . "\n";

zo zou het dan dus moeten werken :s?
 
Je kunt 't op z'n minst proberen...

Gebruik dan wel kies2 en kies. Er zitten overigens nog geen items in die dropdowns hè.
 
jawel, gekeken op de site?
je moet eerst de bovenste invullen dan di daar onder en dan kan je de onerste pas invullen
, het is wel maar op een te eenvoudige manier gemaakt maar di js codes snapte ik niet
 
zo zou dat dan zijn maar nu verstuurt hij het helemaal niet :s

PHP:
<?php 
if($_SERVER['REQUEST_METHOD'] == "POST") { 
  $subject = "Website contact : " . $_POST['telefoon'] . "\n";
  $header = "From: " . $_POST['naam'] ." <". $_POST['email'] .">". "\n"; 
  $mail_body .= "type mail: " . $_POST['type mail'] . "\n"; 
  $mail_body .= "soort verkoop: " . $_POST['soort aankoop'] . "\n"; 
  $mail_body .= "keuze3: " . $_POST['keuze3'] . "\n"; 
  $mail_body .= "Naam: " . $_POST['naam'] . "\n"; 
  $mail_body .= "e-mail: " . $_POST['email'] . "\n"; 
  $mail_body .= "Telefoonnummer: " . $_POST['telefoon'] . "\n"; 
  $mail_body .= "Bericht:\n"; 
  $mail_body .= $_POST['bericht']; 
  $mail_body .= "\n\n -- Einde van het contact bericht --"; 

if(!mail($recipient, $subject, $mail_body, $header)) { 
    echo 'Er is een fout opgetreden bij het versturen van de e-mail.'; 
  } else { 
    echo 'Het bericht is verzonden.'; 
  } 
} else { 
  echo 'Direct access prohibited!'; 
}
 
Zet
PHP:
error_reporting(E_ALL);
eens bovenaan je script, kijk wat er gebeurd...

(Trouwens nog iets onrelevants: als je in de bovenste dropdown 'verkoop' selecteert, dan iets in de tweede dropdown selecteert en daarna de lege entry in de tweede selecteert, dan "vergeet" 'ie de invoer in de eerste dropdown...)
 
(Trouwens nog iets onrelevants: als je in de bovenste dropdown 'verkoop' selecteert, dan iets in de tweede dropdown selecteert en daarna de lege entry in de tweede selecteert, dan "vergeet" 'ie de invoer in de eerste dropdown...)

dus als je iets in het laatste drop down menu selecteerd gaat verkoop weg bij jou?
 
Waarom maak jij het jezelf moeilijk met al die $mail_body .= "...\n" ?

Je kan gwn dit doen hoor :)
PHP:
$mail_body .=<<<END
		al je html
		zoveel lijnen als je wil

END;
Dan kan je ook gwn je variabelen erin zetten zonder alles te gaan moeten concateneren :)
 
Ja dat is echt een handige manier om veel te echo-en.
Dit is ook een manier, 't is maar het wat je mooier/makkelijker vindt:
PHP:
echo 'dit is een line',
     'dit is nog een line',
     'zolang je constant een komma',
     'na de string doet kun je',
     'strings en',
     $vars,
     'echo-en';

Gr. Robin

PS.
bn2vs zei:
Zo, moeilijk woord hoor ;). Wikinitie (definitie op wikipedia :P):
Wikipedia zei:
Concatenatie is een standaardoperatie in programmeertalen (een deelverzameling van formele talen) om twee strings met lettertekens aan elkaar te koppelen. De strings "foo" en "bar" kunnen worden samengevoegd om "foobar" op te leveren. In veel programmeertalen is concatenatie een binaire operatie die wordt uitgevoerd door een operator tussen beide strings (de operanden) te zetten.

Een voorbeeld van concatenatie is: "wiki" + "pedia". Dit geeft: "wikipedia".
Strings combineren dus :P... OK dat moest ik ff melden :thumb:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan