webForumDet fria alternativet

Utelämna tomma rader i formmailer

PHP

4 svar · 571 visningar · startad av par4

Medlem sedan nov. 20093 inlägg
Frågan#1

Hejsan

Har skrivit en enklare kod där kunderna får fylla i sina uppgifter (namn, adress etc.) och sedan går får de fylla det antal de vill ha av respektive artikel. Beställningen skickas sedan till mig som ett mail. De grundläggande sakerna som adress vill jag forfarande ska följa med varesig de är ifyllda eller ej men artiklarna vill jag endast att de som de som är ifylda ska stå med i mailet.

Hur gör jag det enklast?

Kan lägga upp en dump på scriptet som det behövs.

Mvh Par4

Medlem sedan aug. 20039 340 inlägg
#2

Hur ser namngivningen ut för de fält där man kan fylla i antal?
Dumpa gärna skriptet, men använd [php][/php]-taggarna.

Medlem sedan nov. 20093 inlägg
#3

Tjena

$mail_fields[0]="Kundnr,Kund,Beställare,Telefon_till_beställare,Epost,Lev_adress,Postnr,Ort,Godsmottagare,Telefon_för_avisering,Övrig_info,Flaskor_i_retur,Paket_i_retur,Kärl-Övriga_returer,I1901S05R0E001-Acetylen_0¸8_kg_bytesflaska,I1901L42Z0A001-Acetylen_6_kg,I1901M14R0A001-Acetylen_2¸3_kg,I2001M20R2A001-Argon_M20,I2001L50R2A001-Argon_L50,I3150S05R2E001-Atal_bytesflaska_L5,I3150M20R2A001-Atal_M20,I9020L39R0E001-Gasol_16_kg_M16,I9020L27R0E001-Gasol_11_kg_P11,I9020L23R0E001-Gasol_10_kg_PK10,I9020M14Z0E001-Gasol_6_kg_PK6,I5100S13R0A001-Koldioxid_M13,I5100S13T0A001-Koldioxid_M13_med_stigrör,I5100M20R0A001-Koldioxid_M20,I5100M20T0A001-Koldioxid_M20_med_stigrör,I5100L50R0A001-Koldioxid_L50,I5100L50T0A001-Koldioxid_L50_med_stigrör,I5100V20R0A001-Koldioxid_Paket_20x50,I5110S13R0A001-Koldioxid_Aligal_2_M13,I5110M20R0A001-Koldioxid_Aligal_2_M20,I5110L50R0A001-Koldioxid_Aligal_2_L50,I4001M20R2A001-Nitrogen_M20,I4001S05R2E001-Nitrogen_S5_bytesflaska,I4001L50R2A001-Nitrogen_L50,I1001M20R2A001-Oxygen_M20,I1001S05R2E001-Oxygen_S5_bytesflaska,I1001L50R2A001-Oxygen_L50,I4530M20R2A001-Luft_Teknisk_L20,Övriga_produkter";

Hoppas detta gör er lite klokare. Antar att jag kan använda "NoEmpty" men frågan är bara hur.

Tack på förhand!
/Par4

Medlem sedan aug. 20039 340 inlägg
#4

Har du någon kod för formuläret idagsläget? Isåfall, hur är det uppbyggt? Ett fält för varje vara med motsvarande namn som name?
Använder du någon form av hjälpkod/ramverk för att skapa formuläret?
Jag hjälper gärna till men det är dels onödigt att skriva om kod som du redan har skrivit, och dels hjälper det om jag vet alla förutsättningar. :)
Problemet som sådant är enkelt att lösa, men hur man bäst löser det beror lite på svaret på de frågor jag ställde.

Medlem sedan nov. 20093 inlägg
#5

Tjena

Har tänkt köpa scriptet från DBMasters då jag tyckte att det var enkelt att komma igång med men så här i efterhand så kanske det hade varit smartare att skriva något själv.
Här kommer hela koden, det är rätt komplex :) och hade kunnats kortats ner betydligt då jag inte har behov av alla de funktioner som finns tillgängliga.

Mvh Par4

<?php

// General Variables

	$check_referrer="no";

	$referring_domains="http://domain.com/,http://www.domain.com/,http://subdomain.domain.com/";

// options to use if hidden field "config" has a value of 0

// recipient info

	$charset[0]="UTF-32";

	$tomail[0]="par.olsson@airliquide.com";

	$cc_tomail[0]="";

	$bcc_tomail[0]="";

// Mail contents config

	$subject[0]="Industrigas beställning";

	$reply_to_field[0]="Epost";

	$reply_to_name[0]="Kund";

	$required_fields[0]="";

	$required_email_fields[0]="Epost";

	$attachment_fields[0]="";

	$return_ip[0]="yes";

	$mail_intro[0]="Följande beställning av industrigaser har gjorts via ALDOR";

	$mail_fields[0]="Kundnr,Kund,Beställare,Telefon_till_beställare,Epost,Lev_adress,Postnr,Ort,Godsmottagare,Telefon_för_avisering,Övrig_info,Flaskor_i_retur,Paket_i_retur,Kärl-Övriga_returer,I1901S05R0E001-Acetylen_0¸8_kg_bytesflaska,I1901L42Z0A001-Acetylen_6_kg,I1901M14R0A001-Acetylen_2¸3_kg,I2001M20R2A001-Argon_M20,I2001L50R2A001-Argon_L50,I3150S05R2E001-Atal_bytesflaska_L5,I3150M20R2A001-Atal_M20,I9020L39R0E001-Gasol_16_kg_M16,I9020L27R0E001-Gasol_11_kg_P11,I9020L23R0E001-Gasol_10_kg_PK10,I9020M14Z0E001-Gasol_6_kg_PK6,I5100S13R0A001-Koldioxid_M13,I5100S13T0A001-Koldioxid_M13_med_stigrör,I5100M20R0A001-Koldioxid_M20,I5100M20T0A001-Koldioxid_M20_med_stigrör,I5100L50R0A001-Koldioxid_L50,I5100L50T0A001-Koldioxid_L50_med_stigrör,I5100V20R0A001-Koldioxid_Paket_20x50,I5110S13R0A001-Koldioxid_Aligal_2_M13,I5110M20R0A001-Koldioxid_Aligal_2_M20,I5110L50R0A001-Koldioxid_Aligal_2_L50,I4001M20R2A001-Nitrogen_M20,I4001S05R2E001-Nitrogen_S5_bytesflaska,I4001L50R2A001-Nitrogen_L50,I1001M20R2A001-Oxygen_M20,I1001S05R2E001-Oxygen_S5_bytesflaska,I1001L50R2A001-Oxygen_L50,I4530M20R2A001-Luft_Teknisk_L20,Övriga_produkter";

	$mail_type[0]="text";

	$mail_priority[0]="1";

	$allow_html[0]="yes";

// Send back to sender config

	$send_copy[0]="no";

	$copy_format[0]="vert_table";

	$copy_fields[0]="Name,Comments";

	$copy_attachment_fields[0]="";

	$copy_subject[0]="Subject of Copy Email";

	$copy_intro[0]="Thanks for your inquiry, the following message has been delivered.";

	$copy_from[0]="noreply@yourdomain.com";

	$copy_tomail_field[0]="Email";

// Result options

	$header[0]="";

	$footer[0]="";

	$error_page[0]="";

	$thanks_page[0]="";

// Default Error and Success Page Variables

	$error_page_title[0]="Errors:";

	$error_page_text[0]="Använd din webläsares bakåt knappar för att gå tillbaka och komplettera de saknade fälten";

	$thanks_page_title[0]="Tack för din beställning";

	$thanks_page_text[0]="Vi återkommer snarast möjligt med en beställningsbekräftelse. Om du inte erhållit en beställningsbekräftelse inom 2 arbetsdagar ber vi er kontakta vår ordermottagning på 0392-49550. Med vänliga hälsningar Air Liquide gas AB";

// Antispam Options

	$empty_field[0]="nospam";

	$character_scan[0]="Comments,Name";

	$time_delay[0]="2";

	$captcha_codes[0]="9C2449,EEADC8,77A585,D72838";

	$max_urls[0]="2";

	$max_url_fields[0]="Comments";

	$flag_spam[0]="";

// options to use if hidden field "config" has a value of 1

// recipient info

	$charset[1]="";

	$tomail[1]="";

	$cc_tomail[1]="";

	$bcc_tomail[1]="";

// Mail contents config

	$subject[1]="";

	$reply_to_field[1]="";

	$reply_to_name[1]="";

	$required_fields[1]="";

	$required_email_fields[1]="";

	$attachment_fields[1]="";

	$return_ip[1]="";

	$mail_intro[1]="";

	$mail_fields[1]="";

	$mail_type[1]="";

	$mail_priority[1]="";

	$allow_html[1]="";

// Send back to sender config

	$send_copy[1]="";

	$copy_format[1]="";

	$copy_fields[1]="";

	$copy_attachment_fields[1]="";

	$copy_subject[1]="";

	$copy_intro[1]="";

	$copy_from[1]="";

	$copy_tomail_field[1]="";

// Result options

	$header[1]="";

	$footer[1]="";

	$error_page[1]="";

	$thanks_page[1]="";

// Default Error and Success Page Variables

	$error_page_title[1]="";

	$error_page_text[1]="";

	$thanks_page_title[1]="";

	$thanks_page_text[1]="";

// Antispam Options

	$empty_field[1]="";

	$character_scan[1]="";

	$time_delay[1]="";

	$captcha_codes[1]="";

	$max_urls[1]="";

	$max_url_fields[1]="";

	$flag_spam[1]="";

/////////////////////////////////////////////////////////////////////////

// Don't muck around past this line unless you know what you are doing //

/////////////////////////////////////////////////////////////////////////

ob_start();

$config=$_POST["config"];

$debug=0;

$debug_text="";

// fix for Windows email server security

ini_set("sendmail_from",$tomail[$config]);

// email validation regular expression

$regex = "^[-a-z0-9!#$%&\'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&\'*+/=?^_`{|}~]+)*@(([a-z0-9]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+([a-z]([-a-z0-9]*[a-z0-9]+)?){2,63}$";

$header_injection_regex = "(\r|\n)";

if($header[$config]!="")

	include($header[$config]);

if($_POST["submit"] || $_POST["Submit"] || $_POST["submit_x"] || $_POST["Submit_x"])

{

////////////////////////////

// begin global functions //

////////////////////////////

// get visitor IP

	function getIP()

	{

		if(getenv(HTTP_X_FORWARDED_FOR))

			$user_ip=getenv("HTTP_X_FORWARDED_FOR");

		else

			$user_ip=getenv("REMOTE_ADDR");

		return $user_ip;

	}

// get value of given key

	function parseArray($key)

	{

		$array_value=$_POST[$key];

		$count=1;

		extract($array_value);

		foreach($array_value as $part_value)

		{

			if($count > 1){$value.=", ";}

			$value.=$part_value;

			$count=$count+1;

		}

		return $value;

	}

// stripslashes and autolink url's

	function parseValue($value)

	{

		$value=preg_replace("/(http:\/\/+.[^\s]+)/i",'<a href="\\1">\\1</a>', $value);

		return $value;

	}

// html header if used

	function htmlHeader()

	{

		$htmlHeader="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset[$config]."\"></head>\n<body>\n<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"600\">\n";

		return $htmlHeader;

	}

// html footer if used

	function htmlFooter()

	{

		$htmlFooter="</table>\n</body>\n</html>\n";

		return $htmlFooter;

	}

// build verticle table format

	function buildVertTable($fields, $intro, $to, $send_ip)

	{

		$message=htmlHeader();

		if($intro != "")

			$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"2\">".$intro."</td>\n</tr>\n";

		$fields_check=preg_split('/,/',$fields);

		$run=sizeof($fields_check);

		for($i=0;$i<$run;$i++)

		{

			$cur_key=$fields_check[$i];

			$cur_value=$_POST[$cur_key];

			if(is_array($cur_value))

			{

				$cur_value=parseArray($cur_key);

			}

			$cur_value=parseValue($cur_value);

			if($allow_html[$config]=="no")

				$cur_value=htmlspecialchars(nl2br($cur_value));

			else

				$cur_value=nl2br($cur_value);

			$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$cur_value."</td>\n</tr>\n";

		}

		if($send_ip=="yes" && $to=="recipient")

		{

			$user_ip=getIP();

			$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$user_ip."</td>\n</tr>\n";

		}

		$message.=htmlFooter();

		return $message;

	}

// build horizontal table format

	function buildHorzTable($fields, $intro, $to, $send_ip)

	{

		$message=htmlHeader();

		$fields_check=preg_split('/,/',$fields);

		$run=sizeof($fields_check);

		if($intro != "")

			$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"".$run."\">".$intro."</td>\n</tr>\n";

		$message.="<tr>\n";

		for($i=0;$i<$run;$i++)

		{

			$cur_key=$fields_check[$i];

			$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n";

		}

		if($send_ip=="yes" && $to=="recipient")

			$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n";

		$message.="</tr>\n";

		$message.="<tr>\n";

		for($i=0;$i<$run;$i++)

		{

			$cur_key=$fields_check[$i];

			$cur_value=$_POST[$cur_key];

			if(is_array($cur_value))

			{

				$cur_value=parseArray($cur_key);

			}

			$cur_value=parseValue($cur_value);

			if($allow_html[$config]=="no")

				$cur_value=htmlspecialchars(nl2br($cur_value));

			else

				$cur_value=nl2br($cur_value);

			$message.="<td align=\"left\" valign=\"top\">".$cur_value."</td>\n";

		}

		$message.="</tr>\n";

		$message.="<tr>\n";

		if($send_ip=="yes" && $to=="recipient")

		{

			$user_ip=getIP();

			$message.="<td align=\"left\" valign=\"top\">".$user_ip."</td>\n";

		}

		$message.="</tr>\n";

		$message.=htmlFooter();

		return $message;

	}

// build plain text format

	function buildTextTable($fields, $intro, $to, $send_ip)

	{

		$message="";

		if($intro != "")

			$message.=$intro."\n\n";

		$fields_check=preg_split('/,/',$fields);

		$run=sizeof($fields_check);

		for($i=0;$i<$run;$i++)

		{

			$cur_key=$fields_check[$i];

			$cur_value=$_POST[$cur_key];

			if(is_array($cur_value))

			{

				$cur_value=parseArray($cur_key);

			}

			$cur_value=parseValue($cur_value);

			if($allow_html[$config]=="no")

				$cur_value=htmlspecialchars($cur_value);

			else

				$cur_value=$cur_value;

			$message.="".$cur_key.": ".$cur_value."\n";

		}

		if($send_ip=="yes" && $to=="recipient")

		{

			$user_ip=getIP();

			$message.="Sender IP: ".$user_ip."\n";

		}

		return $message;

	}

// get the proper build fonction

	function buildTable($format, $fields, $intro, $to, $send_ip)

	{

		if($format=="vert_table")

			$message=buildVertTable($fields, $intro, $to, $send_ip);

		else if($format=="horz_table")

			$message=buildHorzTable($fields, $intro, $to, $send_ip);

		else

			$message=buildTextTable($fields, $intro, $to, $send_ip);

		return $message;

	}

// referrer checking security option

	function checkReferer()

	{

		if($check_referrer=="yes")

		{

			$ref_check=preg_split('/,/',$referring_domains);

			$ref_run=sizeof($ref_check);

			$referer=$_SERVER['HTTP_REFERER'];

			$domain_chk="no";

			for($i=0;$i<$ref_run;$i++)

			{

				$cur_domain=$ref_check[$i];

				if(stristr($referer,$cur_domain)){$domain_chk="yes";}

			}

		}

		else

		{

			$domain_chk="yes";

		}

		return $domain_chk;

	}

// checking required fields and email fields

	function checkFields($text_fields, $email_fields, $regex)

	{

      	$error_message="";

		if($debug==1)

			$error_message.="<li>text_fields: ".$text_fields."<br />email_fields: ".$email_fields."<br />reply_to_field: ".$reply_to_field."<br />reply_to_name: ".reply_to_name."</li>";

		if($text_fields != "")

		{

			$req_check=preg_split('/,/',$text_fields);

			$req_run=sizeof($req_check);

			for($i=0;$i<$req_run;$i++)

			{

				$cur_field_name=$req_check[$i];

				$cur_field=$_POST[$cur_field_name];

				if($cur_field=="")

				{

					$error_message.="<li>You are missing the <b>".$req_check[$i]."</b> field</li>\n";

				}

			}

		}

		if($email_fields != "")

		{

			$email_check=preg_split('/,/',$email_fields);

			$email_run=sizeof($email_check);

			for($i=0;$i<$email_run;$i++)

			{

				$cur_email_name=$email_check[$i];

				$cur_email=$_POST[$cur_email_name];

				if($cur_email=="" || !eregi($regex, $cur_email))

				{

					$error_message.="<li>You are missing the <b>".$email_check[$i]."</b> field or it is not a valid email address.</li>\n";

				}

			}

		}

		return $error_message;

	}

// attachment function

	function getAttachments($attachment_fields, $message, $content_type, $border)

	{

		$att_message="This is a multi-part message in MIME format.\r\n";

		$att_message.="--{$border}\r\n";

		$att_message.=$content_type."\r\n";

		$att_message.="Content-Transfer-Encoding: 7bit\r\n\r\n";

		$att_message.=$message."\r\n\r\n";

		$att_check=preg_split('/,/',$attachment_fields);

		$att_run=sizeof($att_check);

		for($i=0;$i<$att_run;$i++)

		{

			$fileatt=$_FILES[$att_check[$i]]['tmp_name'];

			$fileatt_name=$_FILES[$att_check[$i]]['name'];

			$fileatt_type=$_FILES[$att_check[$i]]['type'];

			if (is_uploaded_file($fileatt))

			{

				$file=fopen($fileatt,'rb');

				$data=fread($file,filesize($fileatt));

				fclose($file);

				$data=chunk_split(base64_encode($data));

				$att_message.="--{$border}\n";

				$att_message.="Content-Type: {$fileatt_type}; name=\"{$fileatt_name}\"\r\n";

				$att_message.="Content-Disposition: attachment; filename=\"{$fileatt_name}\"\r\n";

				$att_message.="Content-Transfer-Encoding: base64\r\n\r\n".$data."\r\n\r\n";

			}

		}

		$att_message.="--{$border}--\n";

		return $att_message;

	}

// function to set content type

	function contentType($charset, $format)

	{

		if($format=="vert_table")

			$content_type="Content-type: text/html; charset=".$charset."\r\n";

		else if($format=="horz_table")

			$content_type="Content-type: text/html; charset=".$charset."\r\n";

		else

			$content_type="Content-type: text/plain; charset=".$charset."\r\n";

		return $content_type;

	}

//////////////////////////

// end global functions //

//////////////////////////

////////////////////////////////

// begin procedural scripting //

////////////////////////////////

	// anti-spam empty field check

	if($_POST[$empty_field[$config]] != "")

	{

		$empty_message = "<li>This submission failed and was flagged as spam.</li>\n";

	}

	// anti-spam character scan check

	if(strlen($character_scan[$config]) > 0)

	{

		$spam_message="";

		$field_check=preg_split('/,/',$character_scan[$config]);

		$field_run=sizeof($field_check);

		for($i=0;$i<$field_run;$i++)

		{

			$cur_field_name=$field_check[$i];

			$cur_field=$_POST[$cur_field_name];

			if(preg_match("/<(.|\n)+?>/", $cur_field) || preg_match("/\[(.|\n)+?\]/", $cur_field))

				$spam_message.="<li>This message contains disallowed characters.</li>\n";

		}

	}

	// anti-spam time delay check

	if((strlen($time_delay[$config]) > 0 && strlen($_POST["time"]) > 0) || (strlen($time_delay[$config]) > 0 && (strlen($_POST["time"]) == 0 || !$_POST["time"])))

	{

		if((time() - $_POST["time"]) < $time_delay[$config])

			$time_message = "<li>This has been stopped by the timer, and is likely spam.</li>\n";

	}

	// anti-spam CAPTCHA check

	if(strlen($captcha_codes[$config]) > 0)

	{

		$captcha_check=preg_split('/,/',$captcha_codes[$config]);

		if(strtolower($_POST["captcha_entry"]) != strtolower($captcha_check[$_POST["captcha_code"]]))

			$captcha_message = "<li>CAPTCHA test did not match.</li>\n";

	}

	// anti-spam max URL check

	if(strlen($max_url_fields[$config]) > 0)

	{

		$max_url_message="";

		$field_check=preg_split('/,/',$max_url_fields[$config]);

		$field_run=sizeof($field_check);

		for($i=0;$i<$field_run;$i++)

		{

			$cur_field_name=$field_check[$i];

			$cur_field=$_POST[$cur_field_name];

			preg_match_all("/http:/", $cur_field, $matches);

			if(count($matches[0]) > $max_urls[$config])

				$max_url_message.="<li>This message contains too many URL's.</li>\n";

		}

	}

	// set anti-spam flagging option

	if(strlen($empty_message.$spam_message.$time_message.$captcha_message.$max_url_message) > 0 && strlen($flag_spam[$config]) == 0)

		$set_flag = 2;

	else if(strlen($empty_message.$spam_message.$time_message.$captcha_message.$max_url_message) > 0 && strlen($flag_spam[$config]) > 0)

		$set_flag = 1;

	else

		$set_flag = 0;

	// header injection check

   	$security_filter="";

	if(strlen($_POST[$reply_to_field[$config]]) > 0)

	{

		if(eregi($header_injection_regex,$_POST[$reply_to_field[$config]]))

			$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";

		else

			$reply_to_field_checked=$_POST[$reply_to_field[$config]];

	}

	if(strlen($_POST[$reply_to_name[$config]]) > 0)

	{

		if(eregi($header_injection_regex,$_POST[$reply_to_name[$config]]))

			$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";

		else

			$reply_to_name_checked=$_POST[$reply_to_name[$config]];

	}

	// check domain referrer and continue

	$domain_chk=checkReferer();

	if($domain_chk=="yes")

	{

		$error_message=checkFields($required_fields[$config], $required_email_fields[$config], $regex);

		if(strlen($error_message) < 1 && strlen($security_filter) < 1 && $set_flag < 2)

		{

			// build appropriate message format for recipient

			$content_type=contentType($charset[$config], $mail_type[$config]);

			$message=buildTable($mail_type[$config], $mail_fields[$config], $mail_intro[$config], "recipient", $return_ip[$config]);

			// build header data for recipient message

			//$extra="From: ".$_POST[$reply_to_field[$config]]."\r\n";

			$extra="From: ".$reply_to_name_checked." <".$reply_to_field_checked.">\r\n";

			if($cc_tomail[$config]!="")

				$extra.="Cc: ".$cc_tomail[$config]."\r\n";

			if($bcc_tomail[$config]!="")

				$extra.="Bcc: ".$bcc_tomail[$config]."\r\n";

			if($mail_priority[$config]!="")

				$extra.="X-Priority: ".$mail_priority[$config]."\r\n";

			// get attachments if necessary

			if($attachment_fields[$config]!="")

			{

				$semi_rand=md5(time());

				$border="==Multipart_Boundary_x{$semi_rand}x";

				$extra.="MIME-Version: 1.0\r\n";

				$extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";

				$message=getAttachments($attachment_fields[$config], $message, $content_type, $border);

			}

			else

			{

				$extra.="MIME-Version: 1.0\r\n".$content_type;

			}

			// send recipient email

			if($debug==1)

			{

				if($set_flag == 1)

					$debug_text.="<p><b>Mail would have sent flagged for spam if not in debug mode.</b></p>";

				else

					$debug_text.="<p><b>Mail would have sent if not in debug mode.</b></p>";

			}

			else if($debug==0)

			{

				if($set_flag == 1)

					$subject = $flag_spam[$config]." ".$subject[$config];

				else

					$subject = $subject[$config];

				mail("".$tomail[$config]."", "".stripslashes($subject)."", "".stripslashes($message)."", "".$extra."");

			}

			// autoresponse email if necessary

			if($send_copy[$config]=="yes")

			{

				// build appropriate message format for autoresponse

				$content_type=contentType($charset[$config], $copy_format[$config]);

				$message=buildTable($copy_format[$config], $copy_fields[$config], $copy_intro[$config], "autoresponder", $return_ip[$config]);

				// build header data for autoresponse

				$copy_tomail=$_POST[$copy_tomail_field[$config]];

				$copy_extra="From: ".$copy_from[$config]."\r\n";

				// get autoresponse  attachments if necessary

				if($copy_attachment_fields[$config]!="")

				{

					$semi_rand=md5(time());

					$border="==Multipart_Boundary_x{$semi_rand}x";

					$copy_extra.="MIME-Version: 1.0\r\n";

					$copy_extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";

					$message=getAttachments($copy_attachment_fields[$config], $message, $content_type, $border);

				}

				else

				{

					$copy_extra.="MIME-Version: 1.0\r\n".$content_type;

				}

				// send autoresponse email

				if($debug==1)

				{

					if($set_flag == 1)

						$debug_text.="<p><b>Autoresponder would have sent flagged for spam if not in debug mode.</b></p>";

					else

						$debug_text.="<p><b>Autoresponder would have sent if not in debug mode.</b></p>";

				}

				else if($debug==0)

				{

					$send_copy = 1;

					if($copy_tomail=="" || !eregi($regex,$copy_tomail))

						$send_copy = 0;

					if($send_copy == 1)

					{

						if($set_flag == 1)

							$copy_subject = $flag_spam[$config]." ".$copy_subject[$config];

						else

							$copy_subject = $copy_subject[$config];

						mail("$copy_tomail", "".$copy_subject."", "$message", "$copy_extra");

					}

				}

			}

			// showing thanks pages from a successful submission

			if($thanks_page[$config]=="")

			{

				echo "<h3>".$thanks_page_title[$config]."</h3>\n";

				echo "<p>".$thanks_page_text[$config]."</p>\n";

				if(strlen($debug_text) > 0)

					echo "<p><b><i>".$debug_text."</i></b></p>\n";

			}

			else

			{

				header("Location: ".$thanks_page[$config]);

			}

		}

		else

		{

			// entering error page options from missing required fields

			if($error_page[$config]=="")

			{

				echo "<h3>".$error_page_title[$config]."</h3>\n";

				echo "<ul>\n";

				echo $security_filter.$empty_message.$error_message.$spam_message.$time_message.$captcha_message.$max_url_message;

				echo "</ul>\n";

				echo "<p>".$error_page_text[$config]."</p>\n";

			}

			else

			{

				header("Location: ".$error_page[$config]);

			}

		}

	}

	else

	{

		echo "<h3>".$error_page_title[$config]."</h3>\n";

		// message if unauthorized domain trigger from referer checking option

		echo "<p>Sorry, mailing request came from an unauthorized domain.</p>\n";

	}

//////////////////////////////

// end procedural scripting //

//////////////////////////////

}

else

{

	echo "<h3>Error</h3>";

	echo "<p>No form data has been sent to the script</p>\n";

}

if($footer[$config]!="")

	include($footer[$config]);

ob_end_flush();

?>
270 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)