PHP-form met info verzenden lukt niet

  • Onderwerp starter Onderwerp starter Aldi
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Aldi

Gebruiker
Lid geworden
4 sep 2008
Berichten
6
Hallo,
Ik wil een formulier maken met een uitnodiging voor een verjaardag.
Ik maak dus een formulier in html en link er een php bestand aan.
Ik krijg de mail al ontvangen maar enkel met de info :

naam : ****
email: ****
button : ****

Nu zou ik dus graag alle info hebben in m'n mail die ingevuld werd op het forumulier.

Dit zijn met 2 bestanden :

HTML :

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Registreren voor Feesjes</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="sub">
<img src="fotodennis.JPG" alt="Feesje" width="874" height="619" /><p>
<h4>Registreer nu, om de volgende feesje niet te missen</h4><p><p>
<form id="form1" name="form1" method="post" action="mailformulier.php">  
<input type="hidden" name="required_fields" value="naam,voornaam,email,gebdat" />  
<input type="hidden" name="subject" value="Komt naar het feestje" />  
<input type="hidden" name="check_email_address" value="yes" />   
<table width="400" border="0">  
	<tr>  
		<td width="86"><div align="left">Naam : <span class="rood"></span></div></td>  
		<td width="304"><label>  
		<input name="naam" type="text" id="naam" size="35" />  
		</label></td>  
	</tr>  
	<tr>  
		<td><div align="left">Voornaam : <span class="rood"></span></div></td>  
		<td><label>  
		<input name="voornaam" type="text" id="voornaam" size="35" />  
		</label></td>  
	</tr>  
	<tr>  
		<td><div align="left">E-mail : <span class="rood"></span></div></td>  
		<td><label>  
		<input name="email" type="text" id="email" size="35" />  
		</label></td>  
	</tr>  
	<tr>  
		<td><div align="left">Geb.Datum <span class="rood"></span></div></td>  
		<td><label> 
		<select>
		<option>1</option>
		<option>2</option>
		<option>3</option>
		<option>4</option>
		<option>5</option>
		<option>6</option>
		<option>7</option>
		<option>8</option>
		<option>9</option>
		<option>10</option>
		<option>11</option>
		<option>12</option>
		<option>13</option>
		<option>14</option>
		<option>15</option>
		<option>16</option>
		<option>17</option>
		<option>18</option>
		<option>19</option>
		<option>20</option>
		<option>21</option>
		<option>22</option>
		<option>23</option>
		<option>24</option>
		<option>25</option>
		<option>26</option>
		<option>27</option>
		<option>28</option>
		<option>29</option>
		<option>30</option>
		<option>31</option>
		</select> &nbsp;&nbsp;&nbsp;&nbsp;
		<select>
		<option>1</option>
		<option>2</option>
		<option>3</option>
		<option>4</option>
		<option>5</option>
		<option>6</option>
		<option>7</option>
		<option>8</option>
		<option>9</option>
		<option>10</option>
		<option>11</option>
		<option>12</option>
		</select> &nbsp;&nbsp;&nbsp;&nbsp;
		<select>
		<option>2008</option>
		<option>2007</option>
		<option>2006</option>
		<option>2005</option>
		<option>2004</option>
		<option>2003</option>
		<option>2002</option>
		<option>2001</option>
		<option>2000</option>
		<option>1999</option>
		<option>1998</option>
		<option>1997</option>
		<option>1996</option>
		<option>1995</option>
		<option>1994</option>
		<option>1993</option>
		<option>1992</option>
		<option>1991</option>
		<option>1990</option>
		<option>1989</option>
		<option>1988</option>
		<option>1987</option>
		<option>1986</option>
		<option>1985</option>
		<option>1984</option>
		<option>1983</option>
		<option>1982</option>
		<option>1981</option>
		<option>1980</option>
		<option>1979</option>
		<option>1978</option>
		<option>1977</option>
		<option>1976</option>
		<option>1975</option>
		<option>1974</option>
		<option>1973</option>
		<option>1972</option>
		<option>1971</option>
		<option>1970</option>
		</select> &nbsp;&nbsp;&nbsp;&nbsp;
		</label></td>  
	</tr>  
	<tr>  
		<td><div align="left">Gender <span class="rood"></span></div></td>  
		<td><label>  
		<input name="geslacht" type="radio" id="gender"/>man&nbsp;  <input name="geslacht" type="radio" id="gender"/>vrouw
		</label></td>  
	</tr>  
	<tr>  
		<td colspan="2"><div align="left"></div></td>  
	</tr>   
	<tr>  
		<td><div align="left"></div></td>  
		<td> </td>  
	</tr>  
	<tr>  
		<td><div align="left"></div></td>  
		<td><label>  
		<input type="submit" name="button" id="button" value="Versturen" />  
		</label>  
		<label>  
		<input type="reset" name="button2" id="button2" value="Formulier wissen" />  
		</label></td>  
	</tr>  
	<tr>  
		<td><div align="left"></div></td>  
		<td> </td>  
	</tr>   
</table>  
</form>  
</body>
</html>



PHP :

PHP:
<?
$your_email_address="arne@dommel.be";

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;
}



?>


Ik zit echt helemaal vast en weet niet meer wat ik moet doen.
Kan iemand me helpen aub ?

Alvast bedankt !

Grtz
 
Je vergeet het name-attribuut bij de <select>.
 
Sluiten doen we alleen wanneer het niet volgende huisregels gaat.

Het is voldoende om je vraag op "Opgelost" te zetten, dit kun je rechtsonder doen :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan