Geen errors.
Toch al ik het formulier heb ingevuld zegt hij wel "Uw email is ontvangen, deze nemen wij zo spoedig mogelijk in behandeling!"

Maar krijg niks in mij mailbox.
heb dit script al vaker zonder problemen gebruikt.
Dus snap het niet.

Het mailscript:

<?php
include 'phpscript.inc.php';

?>
<?php

// maakt verbinding met je MYsql
$conn = mysql_connect("localhost","ron","");
if (!$conn)
  {
  die('Could not connect: ' . mysql_error());
  }
//Plaats hier alle data van je database uit je MYsql
mysql_select_db("kb_cadeau", $conn);
$sql="INSERT INTO gegevens (voornaam, toevoegsel, achternaam, adres, huisnummer, toevoeging, postcode, woonplaats, telefoonnummer, email, rekeninghouder, rekeningnummer, nkind1, geslachtkind1, geboorte1d, geboorte1m, geboorte1j, cadeau1)

VALUES ('$_POST[voornaam]','$_POST[toevoegsel]','$_POST[achternaam]','$_POST[adres]','$_POST[huisnummer]','$_POST[toevoeging]','$_POST[postcode]','$_POST[woonplaats]','$_POST[telefoonnummer]','$_POST[email]','$_POST[rekeninghouder]','$_POST[rekeningnummer]','$_POST[nkind1]','$_POST[geslachtkind1]','$_POST[geboorte1d]','$_POST[geboorte1m]','$_POST[geboorte1j]','$_POST[cadeau1]')";

?>

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mailing script</title>
</head>

<body>
<?php
if(isset($_POST['email'])) {
	
	// Vul hier het juiste e-mail en het onderwerp (subject) in
	$email_to = "[email protected]";
	$email_subject = "subject";
	
	
	function died($fout) { ?>
    
<div>
<p>Let A.U.B op dat alle gegevens zijn ingegevult.</p>
		<?php echo $fout ?>
		  <p><a href="Javascript:history.back()">terug</a></p></div>
          
<?php		die();
	}
	//hier benoemen we alle velden met een array
	// ## == moet aanwezig zijn
	// -- == hoeft neit aanwezig te zijn
	if(!isset($_POST['voornaam']) ||
		!isset($_POST['toevoegsel']) ||
		!isset($_POST['achternaam']) ||
		!isset($_POST['adres']) ||
		!isset($_POST['huisnummer']) ||
		!isset($_POST['toevoeging']) ||
		!isset($_POST['postcode']) ||
		!isset($_POST['woonplaats']) ||
		!isset($_POST['telefoonnummer']) ||
		!isset($_POST['email']) ||
		!isset($_POST['rekeninghouder']) ||
		!isset($_POST['rekeningnummer']) ||
		!isset($_POST['geslachtkind1']) ||
		!isset($_POST['geboorte1d']) ||
		!isset($_POST['geboorte1m']) ||
		!isset($_POST['geboorte1j'])); {
			
	
		
	$voornaam = $_POST['voornaam']; /* ## */
	$toevoegsel = $_POST['toevoegsel']; /* -- */
	$achternaam = $_POST['achternaam']; /* ## */
	$adres = $_POST['adres']; /* ## */
	$huisnummer = $_POST['huisnummer']; /* ## */
	$toevoeging = $_POST['toevoeging']; /* -- */
	$postcode = $_POST['postcode']; /*  ## */
	$woonplaats = $_POST['woonplaats']; /* ## */
	$telefoon = $_POST['telefoonnummer']; /* ## */
	$mail = $_POST['email']; /* ## */
	$rekeningh = $_POST['rekeninghouder']; /* ## */
	$rekeningn = $_POST['rekeningnummer']; /* ## */
	$naamk1 = $_POST['nkind1']; /* -- */
	$geslachtkind1 = $_POST['geslachtkind1']; /* -- */
	$geboorte1d = $_POST['geboorte1d'];  /* -- */
	$geboorte1m = $_POST['geboorte1m']; /* -- */
	$geboorte1j = $_POST['geboorte1j']; /* -- */
	$cadeau = $_POST['cadeau1']; /* ## */
	
	$fout_melding = "";
	
	$email_ver = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
	if(!eregi($email_ver,$mail)) 
	{
		$fout_melding .= '<p>Vul een geldig <b>e-mail</b> in</p>';
	}	
	// als er meerdere array de zelfde voorwaarde hebben kun je die onder 1 noemer plaatsen.
	$naam_ver = "^[A-Z .'-]+$";
	if(!eregi($naam_ver,$voornaam))
	{
		$fout_melding .= '<p>U bent uw <b>voornaam</b> of <b>voorletter</b> vergeten in te vullen.</P>';
	}
	if(!eregi($naam_ver,$woonplaats))
	{
		$fout_melding .= '<p>vul uw <b>woonplaats</b> in aub. </p>';
	}
		if(!eregi($naam_ver,$adres))
	{
		$fout_melding .= '<p>u <b>adres</b> klopt niet.</p>';
	}
	if(!eregi($naam_ver,$achternaam))
	{	
		$fout_melding .= '<p>U bent uw <b>achternaam</b> vergeten in te vullen. </p>';
	}
	if(!eregi($naam_ver,$rekeningh))
	{
		$fout_melding .= '<p> <b>rekeninghouder</b> is onbekent of onjuist. </p>';
	}
	$postcode_ver = "^[A-Z0-9 .'-]+$"; 
	if(!eregi($postcode_ver,$postcode))
	{
		$fout_melding .= '<p>vul een juiste <b>postcode</b> in A.U.B. </p>';
	}
	$nummer_ver = "^[0-9.'-]+$";
	if(!eregi($nummer_ver,$huisnummer))
	{
		$fout_melding .= '<p><b>huisnummer</b> is onjuist.</p>';
	}
	if(!eregi($nummer_ver,$telefoon))
	{
		$fout_melding .= '<p>onjuist <b>telefoonnummer</b> ingevult.</p>';
	}
	if(!eregi($nummer_ver,$rekeningn))
	{	
		$fout_melding .= '<p>onjuist <b>rekeningnummer</b> ingevult.</p>';
	}
	if(strlen($fout_melding) > 0)	{
	died($fout_melding);
	}
	}
	
	
	$email_bericht = "klant gegevens.\n\n";
	
	function clean_string($string) {
	$bad = array("content-type","bcc:","to:","cc:","href");
	return str_replace($bad,"",$string);
	}

	$email_bericht .= "Voornaam: ".clean_string($voornaam)."\n";
	$email_bericht .= "Toevoegsel: ".clean_string($toevoegsel)."\n";
	$email_bericht .= "Achternaam: ".clean_string($achternaam)."\n";
	$email_bericht .= "Adres: ".clean_string($adres)."\n";
	$email_bericht .= "Huisnummer.: ".clean_string($huisnummer)."\n";
	$email_bericht .= "HuisNRtoev.: ".clean_string($toevoeging)."\n";
	$email_bericht .= "Postcode: ".clean_string($postcode)."\n";
	$email_bericht .= "Woonplaats: ".clean_string($woonplaats)."\n";
	$email_bericht .= "Telefoon nr.: ".clean_string($telefoon)."\n";
	$email_bericht .= "E-mail.: ".clean_string($mail)."\n";
	$email_bericht .= "Rekeninghouder: ".clean_string($rekeningh)."\n";
	$email_bericht .= "Rekening nr.: ".clean_string($rekeningn)."\n";
	$email_bericht .= "Naam kind: ".clean_string($naamk1)."\n";
	$email_bericht .= "Geslacht van kind: ".clean_string($geslachtkind1)."\n";
	$email_bericht .= "Geboorte dag van kind: ".clean_string($geboorte1d)."\n";
	$email_bericht .= "Geboorte maand van kind: ".clean_string($geboorte1m)."\n";
	$email_bericht .= "Geboorte jaar van kind: ".clean_string($geboorte1j)."\n";
	$email_bericht .= "Gekozen cadeau: ".clean_string($cadeau)."\n";
	
$headers = 'From: '.$mail."\r\n".
'Reply-To: '.$email_to."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_bericht, $headers);
	
$headers = 'From: '.$email_to."\r\n".
'Reply-To: '.$email_to."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($mail, "Gratiskinderboeken.nl Bevestigingsmail", "Geachte heer/mevrouw \n \n Hartelijk dank voor uw bestelling bij 							Gratiskinderboeken.nl!\n \n Het kinderboekenpakket zal zo spoedig mogelijk worden verzonden.\n Heel veel plezier gewenstmet het pakket.\n \n Groeten,\n Het team van Gratiskinderboeken.nl", $headers);
?>

<div id="div_home_maat3">
  <p>&nbsp;</p>
  <p>Uw email is ontvangen, deze nemen wij zo spoedig mogelijk in behandeling!</p>
  <p><a href="Javascript:history.back()">terug</a> </p>
</div>

<?php
}
?>
	
    	
</body>
</html>

het formulier:
[code]
<div id="order_content_frame">
<div id="order_links"></div>
<div id="order_content">
<form action="verzend.php" method="POST" name="aanmelden" id="aanmelden">
<div id="order_top"><h2><?php echo $row_Ophalen_content['titel1']; ?></h2></div>
<div id="order_text">
<div id="order_img"><img src="<?php echo $map.$_GET["action"],".",jpg;?>" width="163" height="163" border="0" /></div>
<table width="470px" class="main_tekstvak_formulier">
<tr>
<td width="21%">Naam:</td>
<td width="15%"><input name="voornaam" type="text" id="voornaam" size="12" /></td>
<td width="19%">Tussenvoegsel:</td>
<td width="45%"><input name="toevoegsel" type="text" id="toevoegsel" size="8" /></td>
</tr>
<tr>
<td>Achternaam:</td>
<td><input name="achternaam" type="text" id="achternaam" size="12" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Adres:</td>
<td><input name="adres" type="text" id="adres" size="12" /></td>
<td>Huisnummer:</td>
<td><input name="huisnummer" type="text" id="huisnummer" size="4" />
<input name="toevoeging" type="text" id="toevoeging" size="4" /></td>
</tr>
<tr>
<td>Postcode:</td>
<td><input name="postcode" type="text" id="postcode" size="12" /></td>
<td>Woonplaats:</td>
<td><input name="woonplaats" type="text" id="woonplaats" size="12" /></td>
</tr>
<tr>
<td>Telefoonnummer:</td>
<td><input name="telefoonnummer" type="text" id="telefoonnummer" size="12" /></td>
<td>E-mail:</td>
<td><input name="email" type="text" id="email" size="12" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Naam kind:</td>
<td><input name="nkind1" type="text" id="nkind1" size="12" /></td>
<td>Geslacht:</td>
<td><input type="radio" checked="checked" value="man" name="geslachtkind1">Man
<input type="radio" value="vrouw" name="geslachtkind1">Vrouw
</td>
</tr>
<tr>
<td>Geboortedatum:</td>
<td colspan="3"><select name="geboorte1d" id="geboorte1d">
<option selected="selected">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>
/
<select name="geboorte1m" id="geboorte1m">
<option selected="selected">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>
/
<select name="geboorte1j" id="geboorte1j">
<option>1990</option>
<option>1991</option>
<option>1992</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
<option>1996</option>
<option>1997</option>
<option>1998</option>
<option>1999</option>
<option>2000</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
<option>2009</option>
</select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Rekeninghouder:</td>
<td><input name="rekeninghouder" type="text" id="rekeninghouder" size="12" /></td>
<td>Rekeningnummer:</td>
<td><input name="rekeningnummer" type="text" id="rekeningnummer" size="12" /></td>
</tr>
<tr>
<td><input name="cadeau1" id="cadeau1" type="hidden" value="1" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="4">
<input type="checkbox" name="checkbox2" id="checkbox2" />Ja, ik ga akkoord met de algemene voorwaarden
</td>
</tr>
<tr>

<td colspan="4">
<input type="checkbox" name="checkbox" id="checkbox" />Ja, ik ga akkoord met de afschrijving van mijn rekeningnummer
</td>
</tr>
</table>
</td>
<div id="order_buttons">
<div id="order_vorige"><a href="Javascript:history.back()"><img src="img/button_vorige.jpg" width="63" height="30" align="left" border="0" /></a></div>
<div id="order_bestel"><input name="aanmelden" type=image value="Submit" src="img/button_bestel.jpg" align="right" /></div>
</div>
</div>
<div id="order_footer"></div>
</form>
</div>

<div id="order_rechts"></div>
</div>
[code]

zie ik gewoon iets heel doms over het hoofd??
Hey, aar, Mr.Ark en koen.

Erg bedankt voor de hulp.
ga het zo testen, ben even voor de functie die aar heeft gegeven, bij aan het lezen. (ben nog niet zo heel lang met php bezig).

oef, snelle reactie allemaal :-)
ga even aan de slag met wat me is gegeven, hoop dat ik er uit kom :-)

<? "( '".mysql_real_escape_string($Toevoegsel)."' ) ?>

moet dat niet
<? "( '".mysql_real_escape_string($_POST['toevoegsel'])."' ) ?>
zijn?

en die mysql_real_escape_string. Is dat echt alles wat je hoeft te doen.
Leest net dat het tegen fouten is. maar snap nog niet helemaal wat het presies doet.

aah, stom, te snel gelezen, sorry :-) en bedankt voor de link!
aah, stom, te snel gelezen, sorry :-) en bedankt voor de link!
Houd er rekening mee dat je voor cijfers niet mysql_real_escape_string gebruikt maar: <?PHP intval($_POST['cijfer']) ?>of<?PHP (int)$_POST['cijfer'] ?> nu moet het een cijfer zijn.
okey nu raak je me kwijt.
Raak zoiezo beetje weg kwijt en zou (als je nog tijd hebt) iets meer info over het script wat je me hebt gegeven willen :-)

Ik heb de aanpassingen doorgevoert. En het werkt nu.
(snap dan ook niet waarom ik geen mysql_real_escape_string mag gebruiken voor cijvers (in mij geval geboorte datums) want werkt er wel gewoon mee.

En waar moet ik de <? intval($_post['cijfer']) ?> plaatsen dan?

Als vervanging voor:
<? '".mysql_real_escape_string($_POST['geboorte1m'])."'?>
bij de VALUES.

of bij de
<?
if(empty($_POST['geboorte1m']))
{
# Naam is niet ingevuld
$Message[] = 'Vul A.U.B een geboorte1m in.';
# Error is true
$Error = true;
}
?>

Daarnaast vroeg ik het me af of ik net zoals in het "oude" script wat ik dus eerst gebruikte, de zelfde waarde weer kan vragen voor bijvoorbeeld een e-mail.
<?
email_ver = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_ver,$mail))
{
$fout_melding .= '<p>Vul een geldig <b>e-mail</b> in</p>';
}
?>
want nu controleerd hij echt specifiek alleen of het andwoord niet leeg is.
Maar kunnen mensen duss gewoon bij e-mail, zomaar wat invullen.

vind de structeur en logica wel erg fijn van je script btw :)
de mysql_real_escape_string()
gebruik je voor tekstvelden waar tekst in gezet word.(de post van dat veld)

de (int) gebruik je voor de velden waar alleen nummers gebruikt mogen worden.

bij een <select> is het niet broodnodig, want daar typ je niks in...
allemaal ter preventie van sql injectie
okey, maar hoe maak je dan bijvoorbeeld voor een postcode, de combinati van tekst met cijvers?
dan gebruik je een mysql_real_escape_string..
ron schreef op 19.01.2010 12:22
okey, maar hoe maak je dan bijvoorbeeld voor een postcode, de combinati van tekst met cijvers?


2 velden?

1 met cijfers bijvoorbeeld: 1337
1 met letters bijvoorbeeld: PH

[Edit]

Type fout, reageer ergens op wat er niet staat -_-

[Edit2]

bij een <select> is het niet broodnodig, want daar typ je niks in...


Ho !, hier ga je de fout in, wat nou als er in de select een leeg veld zit zonder waarde/value? Dan gaat het wel mis.

Bijvoorbeeld als je hebt: - Selecteer veld -

Controleer dus ook gewoon de select field.

[Edit3]

Daarnaast vroeg ik het me af of ik net zoals in het "oude" script wat ik dus eerst gebruikte, de zelfde waarde weer kan vragen voor bijvoorbeeld een e-mail.


Waarom wil je dat hebben?, je gebruikt hem maar 1 keer zo te zien.

Reageren