Formulier verzenden

Status
Niet open voor verdere reacties.

oebiedoebie

Gebruiker
Lid geworden
13 nov 2007
Berichten
103
Ik gebruik dit formulier al jaren en het werkt perfect.
Alleen nu ben ik op zoek naar als de mensen een onderwerp selecteren.
Dat ze eigenlijk het emailadres selecteren.
bv. Als ze ledenadministratie als onderwerp kiezen dat dan de leden administratie ook een mail krijgt en niet gewoon naar 1 standaard emailadres gestuurd word.
Dit is mijn code:
HTML:
<form id="form1" name="form1" method="post" action="contact_mailformulier.php"> 

<div align="center">
  <input type="hidden" name="after_url" value="contact_bedankt.html" />
  
  <input type="hidden" name="check_email_address" value="yes" />
  
  <input type="hidden" name="subject" value="Contact formulier" />
  
  <input type="hidden" name="required_fields" value="naam, email" />
  <br />
<table width="500" border="0" align="center">
    <tr>
      <td width="977" align="center" colspan="2"><span class="stijl2">Naam : </span><span class="stijl3">*</span>

        <label><br>
        <input name="naam" type="text" id="naam" size="50" />
      </label></td>
    </tr>
    <tr>
      <td align="center" colspan="2"><span class="stijl2">E-mail : </span><span class="stijl3">*

          <label></label>
      </span>
        <label><br>
        <input name="email" type="text" id="email" size="50" />
      </label></td>
    </tr>
    <tr>
      <td colspan="2" align="center">&nbsp;</td>
    </tr>
    
    <tr>
      <td valign="top" align="center" colspan="2"><span class="stijl2">Vragen / Opmerking : </span><span class="stijl3">*</span><span class="rood"><br>
		</span>
        <label>
        <textarea name="vragen" id="vragen" cols="40" rows="5"></textarea>
      </label></td>
    </tr>
    <tr>
      <td align="center"><div align="left"></div></td>
      <td align="center">&nbsp;</td>
    </tr>
    <tr>
      <td align="center"><div align="left"></div></td>
      <td align="center"><label>
        <input type="submit" name="button" id="button" value="Versturen" />
        <input type="reset" name="button2" id="button2" value="Formulier wissen" />
      </label>      </td>
    </tr>
    <tr>
      <td align="center">&nbsp;</td>
      <td align="center"><font color="#FF0000" class="stijl3">* = Verplicht in te vullen</font></td>
    </tr>
    </table>
</form>
PHP:
<?
$your_email_address="info@xxx.nl";

if(empty($_GET) && empty($_POST)) {
	die('Ongeldige actie');
}

// Emular register_globals on
if (!ini_get('register_globals')) {
	$superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
	if (isset($_SESSION)) {
		array_unshift($superglobales, $_SESSION);
	}
	foreach ($superglobales as $superglobal) {
		extract($superglobal, EXTR_SKIP);
	}
}

// to prevent header injection
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){
     exit;
}

// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
	if( strpos($value,'Content-Type:') !== FALSE ){
		exit;
	}
}


$fields = array_keys($_POST);

function headfunction($url) {
	header ("Location: $url");
}

// protect the variable $reserved_vars
if(isset($reserved_vars)) {
	unset($reserved_vars);
}
$reserved_vars = array("css_file", "background_color", "background_image", "text_color", "link_color", "visited_link_color", "active_link_color", "font_name", "font_size", "highlight_color", "required_fields", "after_url", "check_email_address", "subject", "your_email_address", "env_report", "owner_name", "autoresponse", "response_subject", "response_mail", "dodosmail_header_file", "dodosmail_footer_file");

function include_dodosmail_header($dodosmail_header_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}

	if(is_file($dodosmail_header_file)) {
		include_once($dodosmail_header_file);
		return;
	} else {
		echo "<html>\n";
		echo "<head>\n";
		echo "<title>\n";
		echo "DodosMail\n";
		echo "</title>\n";
		if($css_file != "")
			echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$css_file\">\n";
		echo "</head>\n";
		echo "<body bgcolor=\"$background_color\" background=\"$background_image\" text=\"$text_color\" link=\"$link_color\" vlink=\"$visited_link_color\" alink=\"$active_link_color\">\n";
		echo "<font face=\"$font_name\" size=\"$font_size\">\n";
	}
}

function include_dodosmail_footer($dodosmail_footer_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}
	if(is_file($dodosmail_footer_file)) {
		include_once($dodosmail_footer_file);
		return;
	} else {
		echo "</font>\n</body>\n</html>";
	}
}

function dodosmail_error_handle($msg) {
	global $highlight_color;
	if(isset($highlight_color)) {
		$extra_begin = "<font color=\"".$highlight_color."\">";
		$extra_end = "</font>";
	} else {
		$extra_begin = "<span class=\"DodosMailErrorHighLight\">";
		$extra_end = "</span>";
	}

	return $extra_begin.$msg.$extra_end;
}

// checking required fields
// in case they used comma and space, replace
if(strstr($required_fields, ", ")) {
	$required_fields = str_replace(", ", ",", $required_fields);
} else {
	$required_fields = $required_fields;
}
$required_fields = explode(",", $required_fields);

for($i = 0; $i < count($required_fields); $i++) {
	$required_var_name = $required_fields[$i];
	if(empty($$required_var_name)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout! - het verplichte veld ".dodosmail_error_handle($required_var_name)." is niet ingevuld.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}
if($check_email_address == "yes" && !empty($email)) {
	if(!check_email($email)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout - het adres ".dodosmail_error_handle($email)." is niet geldig.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}


for($i = 0; $i < count($fields); $i++) {
	$actual_var = $fields[$i];
	if(in_array($actual_var, $reserved_vars)) {
		$inside_mail = $inside_mail;
	} else {
		if(is_array($$actual_var)) {
			$inside_mail.= "$actual_var: ";
			foreach($$actual_var as $actual_val) {
				$inside_mail.= "$actual_val ";
			}
			$inside_mail.= "\n";
		} else {
			$actual_val = stripslashes($$actual_var);
			$inside_mail.= "$actual_var: $actual_val\n";
		}
	}
}

// getting other information from the form
$cname = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$inside_mail.=
"
-----------------------------------------------------------------------
 SENDER INFO:
 IP: $_SERVER[REMOTE_ADDR]
 Computer Name: $cname
 Browser Type: $_SERVER[HTTP_USER_AGENT]
 Page Referer: $_SERVER[HTTP_REFERER]
-----------------------------------------------------------------------
";






$headers .= "MIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
//$headers .= "Date: ".date("R")."\r\n";
$headers .= "From: $name <$email>\r\n";



$success = mail($your_email_address, $subject, $inside_mail, $headers);
if($success) {
	if($autoresponse == "yes") {
		$response_subject = stripslashes($response_subject);
		$response_mail = stripslashes($response_mail);
		mail($email, $response_subject, $response_mail, "From: $owner_name <$your_email_address>");
	}
	if($after_url == "") {
		// out put send info
		include_dodosmail_header($dodosmail_header_file);


		echo "<p>\n";
		
		echo "Het formulier is verzonden!</p><ul>";
		for($i = 0; $i < count($fields); $i++) {
			$actual_var = $fields[$i];
			if(in_array($actual_var, $reserved_vars))
				echo "";
			else {
				if(is_array($$actual_var)) {
					echo "<li>$actual_var: ";
					foreach($$actual_var as $actual_val) {
						echo "$actual_val ";
					}
					echo "</li>\n";
				} else {
					$actual_val = stripslashes($$actual_var);
					echo "<li>$actual_var: $actual_val</li>\n";
				}
			}
		}
		echo "</ul>\n<p></p>";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	} else {
	headfunction($after_url);
	}
} else {
	include_dodosmail_header($dodosmail_header_file);
	echo "<p class=\"DodosMailError\">Fout - Het formulier is tijdelijk niet bruikbaar, gebruik ".dodosmail_error_handle($your_email_address)." om contact op te nemen.\n";
	echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
	echo "</p>\n";
	include_dodosmail_footer($dodosmail_footer_file);
	exit;
}



function check_email($email) {
	if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) ||
		(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
		return true;
	}
	return false;
}



?><head><title>title</title></head>

Weet iemand een oplossing?:thumb:
 
als ik het goed zie heb je nog geen dropdownboxje waarin je het onderwerp kan kiezen.
die kan er zo uit zien:

HTML:
<select name='onderwerp'>
   <option>leden administratie</option>
   <option>overig</option>
</select>

en in je php kan dat er als volgt uit zien
PHP:
<?
$your_email_address="info@xxx.nl";
switch($_POST['onderwerp']){
case "leden administratie":
    $your_email_address .=", ledenadministratie@xxx.nl";
    break;
}

// de rest van je php

mvg, Ecross
 
of je zet het in een array.
PHP:
$your_email_address = "you@xxx.nl';
$mail=array('onderwerp' => ", ledenadministratie@xxx.nl", 'admin' => ", admin@xxx.nl", 'geen' => "");

$your_email_address .= $mail[$_POST['onderwerp']];
 
Ik heb dus van alles geprobeerd met de tips die jullie gegeven hebben maar hij verstuurd alleen een mail als de ledenadministratie.
Zo heb ik de code er in gezet:
HTML:
<form id="form1" name="form1" method="post" action="contact_mailformulier.php"> 

<div align="center">
  <input type="hidden" name="after_url" value="contact_bedankt.html" />
  
  <input type="hidden" name="check_email_address" value="yes" />
  
  <input type="hidden" name="subject" value="Contact formulier" />
  
  <input type="hidden" name="required_fields" value="naam, email, onderwerp" />
  <br />
<table width="500" border="0" align="center">
    <tr>
      <td width="977" align="center" colspan="2"><span class="stijl2">Naam : </span><span class="stijl3">*</span>

        <label><br>
        <input name="naam" type="text" id="naam" size="50" />
      </label></td>
    </tr>
    <tr>
      <td align="center" colspan="2"><span class="stijl2">E-mail : </span><span class="stijl3">*

          <label></label>
      </span>
        <label><br>
        <input name="email" type="text" id="email" size="50" />
      </label></td>
    </tr>
    <tr>
      <td colspan="2" align="center" class="stijl2">Onderwerp: <span class="stijl3">*</span></td>
    </tr>
    <tr>
      <td colspan="2" align="center">
 <select name='onderwerp' id="onderwerp">
   <option>Leden administratie</option>
   <option>Verhuur</option>
      <option>Overige vragen</option>
  </select>      </td>
    </tr>
    
    <tr>
      <td valign="top" align="center" colspan="2"><span class="stijl2">Vragen / Opmerking : </span><span class="stijl3">*</span><span class="rood"><br>
		</span>
        <label>
        <textarea name="vragen" id="vragen" cols="40" rows="5"></textarea>
      </label></td>
    </tr>
    <tr>
      <td align="center"><div align="left"></div></td>
      <td align="center">&nbsp;</td>
    </tr>
    <tr>
      <td align="center"><div align="left"></div></td>
      <td align="center"><label>
        <input type="submit" name="button" id="button" value="Versturen" />
        <input type="reset" name="button2" id="button2" value="Formulier wissen" />
      </label>      </td>
    </tr>
    <tr>
      <td align="center">&nbsp;</td>
      <td align="center"><font color="#FF0000" class="stijl3">* = Verplicht in te vullen</font></td>
    </tr>
    </table>
</form>
PHP:
<?
$your_email_address="info@xxx.nl";
switch($_POST['onderwerp']){
case "Leden administratie":
    $your_email_address .=", ledenadminstratie@xxx.nl";
    break;
}
switch($_POST['onderwerp']){	
case "Verhuur":
    $your_email_address .=", verhuur@xxxl.nl";
    break;
}
switch($_POST['onderwerp']){	
case "Overige vragen":
    $your_email_address .=", info@xxx.nl";
    break;
}
if(empty($_GET) && empty($_POST)) {
	die('Ongeldige actie');
	
}

// Emular register_globals on
if (!ini_get('register_globals')) {
	$superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
	if (isset($_SESSION)) {
		array_unshift($superglobales, $_SESSION);
	}
	foreach ($superglobales as $superglobal) {
		extract($superglobal, EXTR_SKIP);
	}
}

// to prevent header injection
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){
     exit;
}

// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
	if( strpos($value,'Content-Type:') !== FALSE ){
		exit;
	}
}


$fields = array_keys($_POST);

function headfunction($url) {
	header ("Location: $url");
}

// protect the variable $reserved_vars
if(isset($reserved_vars)) {
	unset($reserved_vars);
}
$reserved_vars = array("css_file", "background_color", "background_image", "text_color", "link_color", "visited_link_color", "active_link_color", "font_name", "font_size", "highlight_color", "required_fields", "after_url", "check_email_address", "subject", "your_email_address", "env_report", "owner_name", "autoresponse", "response_subject", "response_mail", "dodosmail_header_file", "dodosmail_footer_file");

function include_dodosmail_header($dodosmail_header_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}

	if(is_file($dodosmail_header_file)) {
		include_once($dodosmail_header_file);
		return;
	} else {
		echo "<html>\n";
		echo "<head>\n";
		echo "<title>\n";
		echo "DodosMail\n";
		echo "</title>\n";
		if($css_file != "")
			echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$css_file\">\n";
		echo "</head>\n";
		echo "<body bgcolor=\"$background_color\" background=\"$background_image\" text=\"$text_color\" link=\"$link_color\" vlink=\"$visited_link_color\" alink=\"$active_link_color\">\n";
		echo "<font face=\"$font_name\" size=\"$font_size\">\n";
	}
}

function include_dodosmail_footer($dodosmail_footer_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}
	if(is_file($dodosmail_footer_file)) {
		include_once($dodosmail_footer_file);
		return;
	} else {
		echo "</font>\n</body>\n</html>";
	}
}

function dodosmail_error_handle($msg) {
	global $highlight_color;
	if(isset($highlight_color)) {
		$extra_begin = "<font color=\"".$highlight_color."\">";
		$extra_end = "</font>";
	} else {
		$extra_begin = "<span class=\"DodosMailErrorHighLight\">";
		$extra_end = "</span>";
	}

	return $extra_begin.$msg.$extra_end;
}

// checking required fields
// in case they used comma and space, replace
if(strstr($required_fields, ", ")) {
	$required_fields = str_replace(", ", ",", $required_fields);
} else {
	$required_fields = $required_fields;
}
$required_fields = explode(",", $required_fields);

for($i = 0; $i < count($required_fields); $i++) {
	$required_var_name = $required_fields[$i];
	if(empty($$required_var_name)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout! - het verplichte veld ".dodosmail_error_handle($required_var_name)." is niet ingevuld.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}
if($check_email_address == "yes" && !empty($email)) {
	if(!check_email($email)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout - het adres ".dodosmail_error_handle($email)." is niet geldig.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}


for($i = 0; $i < count($fields); $i++) {
	$actual_var = $fields[$i];
	if(in_array($actual_var, $reserved_vars)) {
		$inside_mail = $inside_mail;
	} else {
		if(is_array($$actual_var)) {
			$inside_mail.= "$actual_var: ";
			foreach($$actual_var as $actual_val) {
				$inside_mail.= "$actual_val ";
			}
			$inside_mail.= "\n";
		} else {
			$actual_val = stripslashes($$actual_var);
			$inside_mail.= "$actual_var: $actual_val\n";
		}
	}
}

// getting other information from the form
$cname = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$inside_mail.=
"
-----------------------------------------------------------------------
 SENDER INFO:
 IP: $_SERVER[REMOTE_ADDR]
 Computer Name: $cname
 Browser Type: $_SERVER[HTTP_USER_AGENT]
 Page Referer: $_SERVER[HTTP_REFERER]
-----------------------------------------------------------------------
";






$headers .= "MIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
//$headers .= "Date: ".date("R")."\r\n";
$headers .= "From: $name <$email>\r\n";



$success = mail($your_email_address, $subject, $inside_mail, $headers);
if($success) {
	if($autoresponse == "yes") {
		$response_subject = stripslashes($response_subject);
		$response_mail = stripslashes($response_mail);
		mail($email, $response_subject, $response_mail, "From: $owner_name <$your_email_address>");
	}
	if($after_url == "") {
		// out put send info
		include_dodosmail_header($dodosmail_header_file);


		echo "<p>\n";
		
		echo "Het formulier is verzonden!</p><ul>";
		for($i = 0; $i < count($fields); $i++) {
			$actual_var = $fields[$i];
			if(in_array($actual_var, $reserved_vars))
				echo "";
			else {
				if(is_array($$actual_var)) {
					echo "<li>$actual_var: ";
					foreach($$actual_var as $actual_val) {
						echo "$actual_val ";
					}
					echo "</li>\n";
				} else {
					$actual_val = stripslashes($$actual_var);
					echo "<li>$actual_var: $actual_val</li>\n";
				}
			}
		}
		echo "</ul>\n<p></p>";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	} else {
	headfunction($after_url);
	}
} else {
	include_dodosmail_header($dodosmail_header_file);
	echo "<p class=\"DodosMailError\">Fout - Het formulier is tijdelijk niet bruikbaar, gebruik ".dodosmail_error_handle($your_email_address)." om contact op te nemen.\n";
	echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
	echo "</p>\n";
	include_dodosmail_footer($dodosmail_footer_file);
	exit;
}



function check_email($email) {
	if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) ||
		(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
		return true;
	}
	return false;
}



?>
Zal wel iets fout gedaan hebben maar ben ook een leek op het gebied van PHP
 
je moet de opties nog een value geven

HTML:
 <select name='onderwerp' id="onderwerp">
   <option value="Leden administratie">Leden administratie</option>
   <option value="Verhuur">Verhuur</option>
      <option value="Overige vragen">Overige vragen</option>
  </select>
 
Ik heb dit geprobeerd maar dit helpt ook niet.

Heb jouw optie ook geprobeerd in mijn PHP bestand phobia maar dan geeft hij een fout met verzenden.
 
Laatst bewerkt:
zet eens boven aan je php script print_r($_POST)
Dit zal de gegevens die in de $_POST staan uitprinten op je scherm.
Aan de hand daarvan kun je dan zien hoe de waarde van de SELECT wordt doorgestuurd
 
Dan krijg ik dit te zien:

print_r($_POST)
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.XXX.nl/TEST/TEST/contact_mailformulier.php:2) in /public/sites/www.XXX.nl/TEST/TEST/contact_mailformulier.php on line 51

De mail word alleen naar het laatste emailadres verstuurd.
 
Laatst bewerkt:
De print_r moet wel na de <?PHP tag komen. anders wordt het als htlm gezien.
 
Parse error: syntax error, unexpected T_VARIABLE in /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php on line 4
 
Laatst bewerkt:
ik gok dat je de regel niet hebt afgesloten met een ; na print_r($_POST)!
 
Parse error: syntax error, unexpected '!' in /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php on line 2


Dit is mijn code:
PHP:
<?
print_r($_POST)! 


$your_email_address="info@xxx.nl";
switch($_POST['onderwerp']){
case "Leden administratie":
    $your_email_address .=", info@xxx.nl";
    break;
}
switch($_POST['onderwerp']){	
case "Verhuur":
    $your_email_address .=", verhuur@xxx.nl.nl";
    break;
}
switch($_POST['onderwerp']){	
case "Overige vragen":
    $your_email_address .=", info@xxx.nl";
    break;
}
if(empty($_GET) && empty($_POST)) {
	die('Ongeldige actie');
	
}

// Emular register_globals on
if (!ini_get('register_globals')) {
	$superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
	if (isset($_SESSION)) {
		array_unshift($superglobales, $_SESSION);
	}
	foreach ($superglobales as $superglobal) {
		extract($superglobal, EXTR_SKIP);
	}
}

// to prevent header injection
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){
     exit;
}

// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
	if( strpos($value,'Content-Type:') !== FALSE ){
		exit;
	}
}


$fields = array_keys($_POST);

function headfunction($url) {
	header ("Location: $url");
}

// protect the variable $reserved_vars
if(isset($reserved_vars)) {
	unset($reserved_vars);
}
$reserved_vars = array("css_file", "background_color", "background_image", "text_color", "link_color", "visited_link_color", "active_link_color", "font_name", "font_size", "highlight_color", "required_fields", "after_url", "check_email_address", "subject", "your_email_address", "env_report", "owner_name", "autoresponse", "response_subject", "response_mail", "dodosmail_header_file", "dodosmail_footer_file");

function include_dodosmail_header($dodosmail_header_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}

	if(is_file($dodosmail_header_file)) {
		include_once($dodosmail_header_file);
		return;
	} else {
		echo "<html>\n";
		echo "<head>\n";
		echo "<title>\n";
		echo "DodosMail\n";
		echo "</title>\n";
		if($css_file != "")
			echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$css_file\">\n";
		echo "</head>\n";
		echo "<body bgcolor=\"$background_color\" background=\"$background_image\" text=\"$text_color\" link=\"$link_color\" vlink=\"$visited_link_color\" alink=\"$active_link_color\">\n";
		echo "<font face=\"$font_name\" size=\"$font_size\">\n";
	}
}

function include_dodosmail_footer($dodosmail_footer_file) {
	global $reserved_vars;
	foreach($reserved_vars as $reserved_var) {
		global $$reserved_var;
	}
	if(is_file($dodosmail_footer_file)) {
		include_once($dodosmail_footer_file);
		return;
	} else {
		echo "</font>\n</body>\n</html>";
	}
}

function dodosmail_error_handle($msg) {
	global $highlight_color;
	if(isset($highlight_color)) {
		$extra_begin = "<font color=\"".$highlight_color."\">";
		$extra_end = "</font>";
	} else {
		$extra_begin = "<span class=\"DodosMailErrorHighLight\">";
		$extra_end = "</span>";
	}

	return $extra_begin.$msg.$extra_end;
}

// checking required fields
// in case they used comma and space, replace
if(strstr($required_fields, ", ")) {
	$required_fields = str_replace(", ", ",", $required_fields);
} else {
	$required_fields = $required_fields;
}
$required_fields = explode(",", $required_fields);

for($i = 0; $i < count($required_fields); $i++) {
	$required_var_name = $required_fields[$i];
	if(empty($$required_var_name)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout! - het verplichte veld ".dodosmail_error_handle($required_var_name)." is niet ingevuld.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}
if($check_email_address == "yes" && !empty($email)) {
	if(!check_email($email)) {
		include_dodosmail_header($dodosmail_header_file);
		echo "<p class=\"DodosMailError\">Fout - het adres ".dodosmail_error_handle($email)." is niet geldig.\n";
		echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
		echo "</p>\n";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	}
}


for($i = 0; $i < count($fields); $i++) {
	$actual_var = $fields[$i];
	if(in_array($actual_var, $reserved_vars)) {
		$inside_mail = $inside_mail;
	} else {
		if(is_array($$actual_var)) {
			$inside_mail.= "$actual_var: ";
			foreach($$actual_var as $actual_val) {
				$inside_mail.= "$actual_val ";
			}
			$inside_mail.= "\n";
		} else {
			$actual_val = stripslashes($$actual_var);
			$inside_mail.= "$actual_var: $actual_val\n";
		}
	}
}

// getting other information from the form
$cname = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$inside_mail.=
"
-----------------------------------------------------------------------
 SENDER INFO:
 IP: $_SERVER[REMOTE_ADDR]
 Computer Name: $cname
 Browser Type: $_SERVER[HTTP_USER_AGENT]
 Page Referer: $_SERVER[HTTP_REFERER]
-----------------------------------------------------------------------
";






$headers .= "MIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
//$headers .= "Date: ".date("R")."\r\n";
$headers .= "From: $name <$email>\r\n";



$success = mail($your_email_address, $subject, $inside_mail, $headers);
if($success) {
	if($autoresponse == "yes") {
		$response_subject = stripslashes($response_subject);
		$response_mail = stripslashes($response_mail);
		mail($email, $response_subject, $response_mail, "From: $owner_name <$your_email_address>");
	}
	if($after_url == "") {
		// out put send info
		include_dodosmail_header($dodosmail_header_file);


		echo "<p>\n";
		
		echo "Het formulier is verzonden!</p><ul>";
		for($i = 0; $i < count($fields); $i++) {
			$actual_var = $fields[$i];
			if(in_array($actual_var, $reserved_vars))
				echo "";
			else {
				if(is_array($$actual_var)) {
					echo "<li>$actual_var: ";
					foreach($$actual_var as $actual_val) {
						echo "$actual_val ";
					}
					echo "</li>\n";
				} else {
					$actual_val = stripslashes($$actual_var);
					echo "<li>$actual_var: $actual_val</li>\n";
				}
			}
		}
		echo "</ul>\n<p></p>";
		include_dodosmail_footer($dodosmail_footer_file);
		exit;
	} else {
	headfunction($after_url);
	}
} else {
	include_dodosmail_header($dodosmail_header_file);
	echo "<p class=\"DodosMailError\">Fout - Het formulier is tijdelijk niet bruikbaar, gebruik ".dodosmail_error_handle($your_email_address)." om contact op te nemen.\n";
	echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
	echo "</p>\n";
	include_dodosmail_footer($dodosmail_footer_file);
	exit;
}



function check_email($email) {
	if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) ||
		(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
		return true;
	}
	return false;
}



?>
 
Laatst bewerkt:
okey, elke regel in php moet afgesloten worden met een ;

dus:
print_r($_POST);
 
en als je dit doet
PHP:
$your_email_address="info@xxx.nl";
switch($_POST['onderwerp']){
case "Leden administratie":
    $your_email_address .=", ledenadminstratie@xxx.nl";
    break;
}
switch($_POST['onderwerp']){    
case "Verhuur":
    $your_email_address .=", verhuur@xxxl.nl";
    break;
}
switch($_POST['onderwerp']){    
case "Overige vragen":
    $your_email_address .=", info@xxx.nl";
    break;
}
echo  $your_email_address;

het gaat om de laatste regel, om te zien wat er voor een emails er in de string staan.
Die print_r kun je wel ff weg halen.
 
info@scoutingdongarciamoreno.nl, debrouwer7@hetnet.nl
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php:18) in /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php on line 51

Maar hij verstuurd nu wel de mail wel naar 2 van 3 emailadressen
 
Laatst bewerkt:
je moet je $header uitbreiden Bcc:
PHP:
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
//$headers .= "Date: ".date("R")."\r\n";
$headers .= "From: $name <$email>\r\n";
$headers .= "Bcc: $bcc\r\n";
en de switch moet je dan ff aanpassen:
PHP:
switch($_POST['onderwerp']){
case "Leden administratie":
    $bcc =", ledenadminstratie@xxx.nl";
    break;
}
switch($_POST['onderwerp']){    
case "Verhuur":
    $bcc =", verhuur@xxxl.nl";
    break;
}
switch($_POST['onderwerp']){    
case "Overige vragen":
    $bcc =", info@xxx.nl";
    break;
}
en je moet de echo verwijderen die de email string output!
 
Laatst bewerkt:
Misschien een gekke vraag.
Maar zoals ik al PHP is net truks voor mij

Waar moet ik die headers veranderen?
 
in contact_mailformulier.php in de buurt van regel 175 staat een blok met
$header =
$header .= enz....
al die headers moet je vervangen met die van mij. de laatste van mij is namelijk de bcc.
 
Was ik inmiddels ook achter!

Maar nu verstuurd hij de mail helemaal perfect.
Maar hij doet ze ook dubbel.
Stuur ze allemaal naar het bovenste emailadres

debrouwer7@hetnet.nl
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php:18) in /public/sites/www.xxx.nl/TEST/TEST/contact_mailformulier.php on line 51
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan