PHP Webwinkelachtig script!
###################################
<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:
###################################
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
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");
?>
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
- Error?
- Wat hoort er te gebeuren?
- Wat gebeurt er wel?
Ik hoor een email te krijgen en de persoon die z'n emailadres invult ook. Ik ontvang die niet. Ik denk zelf dat het aan de klantenummer-code-aanmaker ligt. Dat $code deel. Ik wilde het formulier er niet op zetten want die bron is nogal lang :-P Kan 'm je wel sturen...
[email protected],".$email,"formulier",$message, $headers);
Variabelen buiten quotes houden...
Werkt het zonder het naar de ander te sturen wel?
mail("Variabelen buiten quotes houden...
Werkt het zonder het naar de ander te sturen wel?
Suc6 ermee!
Nee niet. Hmmpf.
Michiel
Probeer eens een simpele mail() in een leeg formulier.
Ja die simpele mail() forms heb ik allemaal wel een beetje gehad. Dat kan ik nu wel. Alleen nu iets meer van het goeie en deze! Niet iemand in de buurt die me wilt helpen? Via MSN ofzo? Stuur ik even die 3 bestanden door. Kom er echt niet uit en het frustreert me. Heb gewoon ff iemand nodig die net iets meer van PHP af weet.
Ik vind persoonlijk je headers niet echt uitgebreid, en je zou eens kunnen kijken wat er gebeurd als je dat 2e emailadres adres variabelen uit de quotes haalt.
Heb ik al geprobeerd. En ja, m'n server ondersteunt het. Ik doe een combi fout in verzenden.php. Aan m'n formulier kan 't verder niet liggen, maar misschien ook wel. Zit namelijk een verplicht-ja-op-voorwaarden-script in. Kan misschien tegenwerken? Of fill-in-form-script?
Dat weet jij beter dan ik, ik kan hier weinig zien behalve dat je die '$email' uit het niets haalt.
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']?
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!
####### verzenden.php ###########
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?
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");
?>
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"> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="links"> </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>
</tr>
</table>
</body>
</html>
Gewijzigd op 17/01/2006 18:29:00 door Zelf Weten
hoor overal boven volgens mij.
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!
Gewijzigd op 17/01/2006 19:05:00 door Zelf Weten
submit moet eerst wel gedefineerd zijn... Daarbij horen er volgens mij enkele quotes omheen te staan.