goede dag .
ik heb een vraag ik wil weten of het mogelijk is om in een e-mail form door middel van een drop donw box te kiesen naar wie de e-mail gaat . afdeling

ik heb nog niks geprobeerd. om dat ik niet weet hoe ik dat moet doen.

ik denk dat ik iets moet doen met een controle teken
op de ze manier

if $mail_ontv

en dan $mail_ontv ook bij die drop down balk dan leest hij dat e-mail adres wat er gekozen is of is dat te makelijk van mij gedacht.
om het jullie wat makkelijker te maaken hier ook het php script

<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!

/*******************************
* CONTACT FORMULIER *
* contactformulier.php *
* *
* Author: Miranda Verburg *
* Datum: 10 september 2010 *
* *
* Pas het e-mail adres aan *
* bij $mail_ontv en upload *
* het naar je webserver.. *
********************************/

// E-mailadres van de ontvanger
$mail_ontv = '[email protected]'; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// naam controle
if (empty($_POST['naam']))
$naam_fout = 1;
// e-mail controle
if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
$email_fout = 1;
// antiflood controle
if (!empty($_SESSION['antiflood']))
{
$seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
$tijd = time() - $_SESSION['antiflood'];
if($tijd < $seconde)
$antiflood = 1;
}
}

// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty($naam_fout))
echo '<p>Uw naam is niet ingevuld.</p>';
elseif (!empty($email_fout))
echo '<p>Uw e-mailadres is niet juist.</p>';
elseif (!empty($antiflood))
echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
else
echo '<p>U bent uw naam, e-mailadres, onderwerp of bericht vergeten in te vullen.</p>';
}

// HTML e-mail formlier
echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>

<label for="naam">Naam:</label><br />
<input type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />

<label for="last">achternaam:</label><br />
<input type="text" id="last" name="last" value="' . (isset($_POST['last']) ? htmlspecialchars($_POST['last']) : '') . '" /><br />

<label for="mail">E-mailadres:</label><br />
<input type="text" id="mail" name="mail" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />

<label for="onderwerp">Onderwerp:</label><br />
<input type="text" id="onderwerp" name="onderwerp" value="' . (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />

<label for="bericht">Bericht:</label><br />
<textarea id="bericht" name="bericht" rows="8" style="width: 400px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />

<input type="submit" name="submit" value=" Versturen " />
</p>
</form>';
}
// versturen naar
else
{
// set datum
$datum = date('d/m/Y H:i:s');
$inhoud_mail .= "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
$inhoud_mail .= "===================================================\n\n";

$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "Achternaam: " . htmlspecialchars($_POST['last']) . "\n";
$inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\n";
$inhoud_mail .= "onderwerp: " . htmlspecialchars($_POST['onderwerp']) . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";

$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$inhoud_mail .= "===================================================\n\n";


// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
// ------

$headers = 'From: ' . htmlspecialchars($_POST['naam']). htmlspecialchars($_POST['last']). ' <' . $_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
// altanatief ( mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))

if (mail($mail_ontv,'Contact Smzvl.nl', $inhoud_mail, $headers))
{
// zorg ervoor dat dezelfde persoon niet kan spammen
$_SESSION['antiflood'] = time();

header ("refresh:7; url=contact.php");
echo '<h1>Het contactformulier is verzonden</h1>

<p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>
<p></p>';
}
else
{
echo '<h1>Het contactformulier is niet verzonden</h1>

<p><b>Onze excuses.</b> Het contactformulier kon niet verzonden worden.</p>';
}
}
?>

op dit moment zo als jullie kunnen zien word het naar het e-mail adres van mijn keuzen. door middel van die $_mail <-koppeling

al vast bedankt . ps ik heb er zelf niks over kunne vinden op google

al vast bedank. en als dit topic al een keer behandeld is graag daar een verwijzing naar. :)

mvg Roy
Haal <option value"//hier dan ook een $_emptyselectemail link of zo ">kies een persoon</option> weg en zet <option value="Algemeen"> Algemeen</option> bovenaan, dan is je probleem toch opgelost.

En checken doe je met if(isset($_POST['ontvanger']) and in_array($_POST['ontvanger'], $emailadressen)) dan is ie okee.
@SanThe,

Dan moet hij in option algemeen er nog wel even selected bij zetten ;)
ja dat heb ik gedaan maar dan ben ik nog steeds benieuwd hoe ik een melding maak als er niet gekozen is en nog staat op "kies een afdeling"


<option selected value="leeg">kies een afdeling</option>
@Roy,

Dat moet je ook niet gebruiken, gewoon standaard op algemeen zetten. Dan is er altijd een email geselecteerd.

Anders moet je ook weer gaan kijken met een if statement of hij niet leeg is.
Dan kun je het beter zo doen.

<option selected value="Algemeen"> Algemeen</option>
oke gedaan
dan idd daar defaut naar algemeen
maar gewoon eeven een vraag ( ik wil dus niet nu perse meer datcontroleren )
is een
if statement moelijk te maaken

veder allemaal bedankt
SanThe had een mooi voorbeeldje voor controle gemaakt ik zal hem hieronder even copy/pasten.

(officieel geplaatst door: SanThe)

<?php
if(isset($_POST['ontvanger']) and in_array($_POST['ontvanger'], $emailadressen))
?>
in_array() zal niet werken omdat je op de sleutel moet controleren. Het zal dus array_key_exists() moeten zijn.

Onderstaand zou als los voorbeeld moeten dienen maar ik ben helaas een beetje door geschoten. Ik ben bang dat het er niet duidelijker op word. Het is uit het hoofd dus er kunnen wat type foutjes in zitten maar het zou moeten werken.


<?php

	/*--------------------------------------------------------------------------------------------------------------------------
	(§) Settings
	--------------------------------------------------------------------------------------------------------------------------*/

	# Lijst met alle afdelingen en hun contact personen.	
		
		$afdelingen = array('Ontwikkeling' 		=> 'De heer J.B. Been: Belegging Zorg Vastgoed',
							'Belegging' 		=> 'De heer J.B. Been: Belegging Zorg Vastgoed');

	
	# Lijst met alle afdelingen en hun E-mail adres.
			
		$emailadressen = array('Ontwikkeling' 	=> '[email protected]',
							   'Belegging'	 	=> '[email protected]',
							   'Exploitatie' 	=> '[email protected]',
							   'Algemeen' 		=> '[email protected]');	


	/*--------------------------------------------------------------------------------------------------------------------------
	(§) Voorbeeld :: Controleren of de gekozen afdeling wel bestaat.
	--------------------------------------------------------------------------------------------------------------------------*/
	
	# Controleren of er een afdeling is geselecteerd.

		if(isset($_POST['ontvanger']) and $_POST['ontvanger'] != ''){

		/* INFO: Er is een afdeling geselecteerd. */
	
		# Controleren of de gekozen afdeling wel bestaat.

			if(array_key_exists($_POST['ontvanger'], $afdelingen)){

			/* INFO: Ja, de gekozen afdeling bestaat. */
		
			# Controleren of er wel een E-mail adres bekend is voor de gekozen afdeling.
			
				if(array_key_exist($_POST['ontvanger'], $emailadressen)){

				/* INFO: Ja, er is een E-mail adres bij ons bekend. */
				
					// Het E-mail adres kun je ophalen met $emailadressen[$_POST['ontvanger']]
								
				}
				else{

				/* INFO: Helaaas! Er is nog geen E-mail adres bij ons bekend voor de door U gekozen afdeling. */
				
					// Foutmelding weergeven / toevoegen.
					
				}
				
			}
			else{
			
			/* INFO: Nee, de gekozen afdeling bestaat. */
			
				// Foutmelding weergeven / toevoegen.
			
			}
		}
		else{
		
		/* INFO: Er is GEEN afdeling geselecteerd. */
		
			// Foutmelding weergeven / toevoegen.
		
		}	
	
	
	/*--------------------------------------------------------------------------------------------------------------------------
	(§) Voorbeeld :: Select menu samenstellen.
	--------------------------------------------------------------------------------------------------------------------------*/

	# Het menu openen.
	
		echo '<select name="ontvanger">';
		
		
	# De eerste optie weergeven.
	
		echo '<option value"">kies een persoon</option>';
			
	
	# Alle afdelingen aflopen.
	
		foreach($afdelingen as $naam => $contact_persoon){
		
		# Optie weergeven.
		
			echo '<option value="'.$naam.'">'.$contact_persoon.'</option>';
		
		}
		
		
	# Het menu afsluiten.	

		echo '</select>';

?>
oke dat heb ik nu in me php gezet maar als ik op verstuur klik en hij staat op kies dan verzend hij het gewoon

dus waar moet ik plaatsen het staat nu onder
<?php
$emailadressen = array('Ontwikkeling' => '[email protected]',
'Belegging' => '[email protected]',
'Exploitatie' => '[email protected]',
'Algemeen' => '[email protected]');
$mail_ontv = $emailadressen[$_POST['ontvanger']];

?>
@Roy,

Het voorbeeld van Mark vervangt die array, dus dat is dan /delete en die van Mark gebruiken.
oke ik heb dat weg gehaal en dat van mark op die plek gezet maar hij vertuurt het nog steed zonder melding moet ik het form ook weg hallen ??

Reageren