Beste mensen, vandaag geknutseld aan een webwinkelachtig PHP formulier. Met klantennummer dat gegenereerd wordt. Gewoon geinclude met:

###################################

<form action="verzenden_index.php" method="post" name=bestelform onsubmit="return checkData()" onSubmit="return defaultagree(this)">

###################################

Rest daarin is gewoon check. Verzenden_index.php ziet er als volgt uit:

###################################

<?
if(isset($_POST[Submit])){
$headers = "Content-Type: text/html; charset=windows-1252\n";
$headers .= "MIME-Version: 1.0\r\n";

$message =
"<b>FORMULIER ZELF WETEN</b><table>
<tr><td>Voornaam:</td><td><b>$_POST[voornaam]</b></td></tr><br>
<tr><td>Achternaam:</td><td>$_POST[achternaam]</td></tr>
<tr><td>Adres:</td><td>$_POST[adres]</td></tr>
<tr><td>Postcode:</td><td>$_POST[postcode]</td></tr>
<tr><td>Telefoonnummer:</td><td>$_POST[telefoonnummer]</td></tr>
<tr><td>Plaats:</td><td>$_POST[plaats]</td></tr>
<tr><td>Land:</td><td>$_POST[land]</td></tr>
<tr><td>Email:</td><td>$_POST[email]</td></tr>
<tr><td>Klantennummer:</td><td>$code</td></tr>
</table>";

$file = "code.txt";
$code = file_get_contents("$file");

$handle = fopen($file, "w");
++$code;
fwrite($handle, $code);
fclose($handle);

mail("[email protected],$email","formulier","$message", "$headers");

?>
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="../css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<td class="menutd">
<ul id="menu">
<li><a href="../indextext.html">terug naar home</a></li>
</td>
</table>
<table class="tekst" cellspacing="0" cellpadding="0">
<tr>
<td>Bedankt!<br><br>
Het formulier is succesvol verzonden en bij ons aangekomen.<br>
We zullen proberen zo spoedig mogelijk te reageren.</td>
</tr>
</table>
</body>
</html>
<?
}
?>

###################################

Wat gaat er mis? Voor m'n gevoel ben ik er echt BIJNA! Bij voorbaat dank voor jullie hulp en snel reageren. Groeten,

Michiel
Dat weet jij beter dan ik, ik kan hier weinig zien behalve dat je die '$email' uit het niets haalt.
Hoe stel ik dan in dat $_POST[email] tussen die:

mail("[email protected],".$email,"Bestelformulier Zelf Weten .NL", "$message", "$headers");

komt te staan?
Arjan heeft gelijk, volgens mij moet daar $_POST['email'] staan.
Moet dat dan niet bij elke $_POST ? Bijv. $_POST ['voornaam']?
Gebruik

<?php
error_reporting(E_ALL);
?>

Ik programmeer er standaard mee, is gewoon belangrijk...

Ik zou die $_POST er niet tussenplanten, maar eens kijken of hij bestaat (isset), checken of er een valide en veilige input is, en dan dat mailadres nog even checken tegen de regels.

Bekijk anders mijn webwinkel eens. Als je er wat aan heb ben ik bereid wat te delen.
Oef... das wel een hele mooi. Maar denk dat dat iets te veel van het goede is. Misschien zou ik er iets aan hebben, maar das nog iets TE gevorderd voor me. Ga wel over een tijdje zoiets nodig hebben denk ik. Tis voor mijn shoppie nu alleen belangrijk dat m'n form het doet!
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/bogeyonline.nl/public_html/zelfweten/tshirts/bestellen/verzenden.php on line 15

####### verzenden.php ###########

<?php
error_reporting(E_ALL);
?>
<?
if(isset($_POST[submit])){
$headers = "Content-Type: text/html; charset=windows-1252\n";
$headers .= "MIME-Version: 1.0\r\n";

$message =
"<table>
<tr><td>Beste $_POST[aanhef] $_POST[voornaam] $_POST[achternaam],<br><br>Bedankt voor
je bestelling bij www.zelfweten.nl.<br>;
<br>
Bewaar deze email goed en neem hem rustig door. Let er goed op dat je geen
stappen vergeet of overslaat. Dan kan er niets mis gaan. <br>
<br>
<b>Contactgegevens<br>
</b>$_POST[voornaam] $_POST[achternaam] ($_POST[sexe])<br>
$_POST[adres]<br>
$_POST[postcode] $_POST[plaats]<br>
$_POST[land]<br>
$_POST[telefoonnummer]<br>
$_POST[email]<br>
<br>
<b>Klantennummer<br>
</b>Dit is je persoonlijke code ordernummer. Deze heb je nodig om je
bestelling te bevestigen en te betalen. Dit ordernummer hoort bij <b>deze
</b>bestelling! Je ordernummer is:<br>
$code<br>
<br>
<b>Bestelling<br>
</b>Jongens T-shirt design:$_POST[jongensdesign]<br>
Jongens T-shirt kleur:$_POST[jongenskleur] <br>
Jongens Opdruk kleur:$_POST[jongensopdrukkleur] <br>
Jongens T-shirt maat:$_POST[jongensmaat]<br>
Aantal:$_POST[jongensaantal]<br>
<br>
Meisjes T-shirt design:$_POST[meisjesdesign]<br>
Meisjes T-shirt kleur:$_POST[meisjeskleur] <br>
Meisjes Opdruk kleur:$_POST[meisjesopdrukkleur] <br>
Meisjes T-shirt maat:$_POST[meisjesmaat]<br>
Aantal:$_POST[meisjesaantal]<br>
<br>
<b>Prijs<br>
</b>€ 25,00 incl. verzendskosten<br>
<br>
<b>Betalen</b><br>
Je bestelling wordt pas geactiveerd zodra je het bedrag hebt overgemaakt.
Als je overboeking succesvol is verlopen gaan we je t-shirt maken en
opsturen naar je adres/bezorg adres. Stort het te betalen bedrag over op het
volgende rekeningnummer en vermeld je persoonlijke ordernummer (zie
hierboven).<br>
<br>
<b>Rekeninggegevens</b><br>
M.J.Haverlag<br>
61.57.74.059<br>
Hilversum<br>
<br>
Zelf Weten .NL bestelling<br>
Je persoonlijke ordernummer<br>
<br>
<b>Bevestiging<br>
</b>Als het geld succesvol is overgemaakt, zul je een bevestiging van ons
ontvangen. Deze wordt per email verzonden en is een automatisch gegenereerd
bericht. Hierop kan niet worden geantwoord. Voor vragen of opmerkingen kun
je altijd mailen naar [email protected].<br>
<br>
<b>Levertijd<br>
</b>Nadat we je order hebben bevestigd en je shirt hebben besteld, duurt het
ongeveer 2-4 werkdagen voordat je t-shirt in de brievenbus ligt. Wij zijn
afhankelijk van het postsysteem in Duitsland aangezien je t-shirt uit
daarvandaan komt. Enige vertragingen hebben we daardoor niet altijd in de
hand. We doen ons best je t-shirt binnen 4 werkdagen in je brievenbus te
krijgen. Mocht het langer dan 4 dagen duren kun je altijd contact met ons
opnemen.</td></tr>
</table>";

mail("[email protected],".$email,"Bestelformulier Zelf Weten .NL", "$message", "$headers");
?>
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
<script language="Javascript" src="../../css/main.js"></script>
<base target="_self">
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" background="#595959">
<td class="menutd">
<ul id="menu">
<li><a class="grijs" onMouseOver="window.status='zelfweten.NL » T-SHIRTS » BESTELLEN » Terug naar Home'; return true" onMouseOut="window.status='zelfweten.NL » T-SHIRTS » BESTELLEN'" href="../../indextext.html">terug naar thuis</a></li>
</td>
</table>
<table cellspacing="0" cellpadding="0">
<tr>
<td class="links">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class="links">&nbsp;</td>
<td class="tekst">Bedankt!<br>
<br>
We hebben je bestelling ontvangen. Zojuist heb je ook een email
ontvangen met verder instructies. Bewaar deze email goed, hierin staan
belangrijke gegevens die je nodig hebt voor het bevestigen en activeren
van je bestelling. Hoe sneller je deze handelingen uitvoert, deste
sneller jij je shirt in huis hebt. Maar dat moet je zelf weten...<td>
&nbsp;</tr>
</table>
</body>
</html>
<?
}
?>
error_reporting(E_ALL);

hoor overal boven volgens mij.
Notice: Use of undefined constant submit - assumed 'submit' in /home/bogeyonline.nl/public_html/zelfweten/tshirts/bestellen/verzenden.php on line 5

Krijg die vervolgens. Heb post hierboven, die grote aangepast...

Tags weggehaald, stond nog bij plaats en heb 'm ook bij mail weggehaald. En heb in regel 5 Submit --> submit gemaakt. Hmpf. Denk trouwens dat de fout in m'n bestelform zelf zit. Niet in verzenden.php. Kan dat? Moet ik die ook ff posten?

##############################

Die check staat in een .js bestand. Kan hier wel alles meteen op zetten maar dat vind ik zo onhanding. Ik heb dus maar een .zip file online gezet. Alle files die ik ervoor gebruik zitten erin:

http://www.bogeyonline.nl/shop.zip

Alvast bedankt voor al jullie hulp! Top!
"We hebben je bestelling ontvangen", wel een beetje raar.. je heb geen enkele check of de mail() wel gelukt is...

submit moet eerst wel gedefineerd zijn... Daarbij horen er volgens mij enkele quotes omheen te staan.

Reageren