tekst bestandje aanmaken
Ik ben al een tijdje bezig met een website voor een goed doel (kankerstichting) voor deze stichting organiseren wij een wandeltocht over het strand in katwijk.
Nu ik als vrijwilliger de website bouw loop ik tegen een paar probleempjes aan (heb al eerder op deze site hulp gevraagd wat toen ook zeer snel beantwoord was!! nog bedankt daarvoor)
Hier mijn probleem:
Ik gebruik een inschrijf systeempje met php en mysql. Nu zijn we erachter gekomen dat op de een of andere manier sommige inschrijvingen niet in de database worden geplaatst.
dit is mijn code:
<!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=iso-8859-1" />
<title>Katwijk Wandel Marathon -- Kippenloop --</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<SCRIPT LANGUAGE="JavaScript">
function handle_bedrag (bedrag) {
document.getElementById ('bedrag').value = 5 * bedrag;
}
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=700,left = 262,top = 134');");
}
// End -->
</script>
</head>
<body><center>
<p><span class="tekst"><br />
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<?
if($_POST[Submit]){
//Hier geef je aan welke form items ingevuld MOETEN worden
if($_POST[voornaam] != "" AND
$_POST[achternaam] != "" AND
$_POST[straatnaam] != "" AND
$_POST[postcode] != "" AND
$_POST[plaats] != "" AND
$_POST[geboortedatum] != "" AND
$_POST[loop] != "" AND
$_POST[reknr] != "" AND
$_POST[naamvan] != "" AND
$_POST[bankplaats] != "" AND
$_POST[ad] != "" AND
$_POST[bedrag] != "" AND
$_POST[checkbox] != "")
{ mysql_query("INSERT INTO aanmeldinga (voornaam, tussenvoegsel, achternaam, straatnaam, postcode, plaats, geboortedatum, emailadres, loop, reknr, naamvan, bankplaats, bedrag, checkbox)
VALUES ('$_POST[voornaam]',
'$_POST[tussenvoegsel]',
'$_POST[achternaam]',
'$_POST[straatnaam]',
'$_POST[postcode]',
'$_POST[plaats]',
'$_POST[geboortedatum]',
'$_POST[emailadres]',
'$_POST[loop]',
'$_POST[reknr]',
'$_POST[naamvan]',
'$_POST[bankplaats]',
'$_POST[bedrag]',
'$_POST[checkbox]')");
echo "<p class='tekst'>Uw inschrijving is succesvol ontvangen! <br>
Download <a href='sponsorform.pdf' target='_blank'>hier</a> uw sponsorformulier.</p>";
}
else{
echo"<br>U moet wel alle velden invullen.";
echo '<br><a href="#" onClick="history.go(-1)">Terug</a>';
}
}else{
//Hier stel je het formuliertje op
echo "<form name=\"form\" method=\"post\" action=\"\"><table class=\"tekst\" width=\"400\" border=\"0\" cellspacing=\"0\">
<tr>
<td width=\"50%\">Voorletter(s): *</td>
<td width=\"50%\">
<input type=\"text\" name=\"voornaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Tussenvoegsel</td>
<td width=\"50%\">
<input type=\"text\" name=\"tussenvoegsel\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Achternaam *</td>
<td width=\"50%\">
<input type=\"text\" name=\"achternaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Straatnaam + Huisnummer *</td>
<td width=\"50%\">
<input type=\"text\" name=\"straatnaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Postcode *</td>
<td width=\"50%\">
<input type=\"text\" name=\"postcode\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Plaats *</td>
<td width=\"50%\">
<input type=\"text\" name=\"plaats\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Geboortedatum <font font-size=\"8pt\">dd-mm-jjjj*</font></td>
<td width=\"50%\">
<input type=\"text\" name=\"geboortedatum\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Email Adres</td>
<td width=\"50%\">
<input type=\"text\" name=\"emailadres\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"200\">Loop*</td>
<td><select name=\"loop\" size=\"1\" id=\"loop\">
<option></option>
<option>15 km kippenloop</option>
<option>25 km kippenloop</option>
<option>42 km kippenloop</option>
</select>
</td>
<tr>
<td width=\"50%\">Rekeningnummer*</td>
<td width=\"50%\">
<input type=\"text\" name=\"reknr\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Op naam van*</td>
<td width=\"50%\">
<input type=\"text\" name=\"naamvan\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Plaats*</td>
<td width=\"50%\">
<input type=\"text\" name=\"bankplaats\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Aantal deelnemers*</td>
<td width=\"50%\">
<input type=\"text\" name=\"ad\" size=\"30\" onkeyup=\"handle_bedrag (this.value);\">
</td>
</tr>
<tr>
<td width=\"50%\">Bedrag € </td>
<td width=\"50%\">
<input type=\"text\" name=\"bedrag\" size=\"30\" id=\"bedrag\" readonly=\"true\">
</td>
</tr>
<tr>
<td width=\"250\">Ga akkoord met automatische incasso*</td>
<td><input type=\"checkbox\" name=\"checkbox\" value=\"Akkoord met incasso \" />
</td>
</tr>
<td width=\"50%\"></td>
<td><input type=\"submit\" name=\"Submit\" value=\"Inschrijven\"> <input type=\"reset\" name=\"Reset\" value=\"Wissen\"></td>
</tr>
</table>
</form>";
}
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: Organistie Kippenloop 2006 <[email protected]>\r\n";
$to = mail($_POST['emailadres'], $_POST['loop'],'Uw inschrijving is met succes ontvangen.<br><br>
Voor meer informatie kijk op de <a href="http://www.katwijkwandelmarathon.nl" target="_blank"> website</a> van de kippenloop. Klik
<a href="http://www.katwijkwandelmarathon.nl/sponsorform.pdf" target="_blank">hier </a>om het sponsorformulier te downloaden.
<br><br> Met vriendelijke groeten, <br>Organistie Kippenloop 2006 <br><br>
<hr>
<img src="http://www.katwijkwandelmarathon.nl/images/gdvschoen.jpg" width="190" height="142" align="left" class="image" />
<b>Overweegt u de aanschaf van wandel of bergschoenen?</b><br><br>
Zoekt u een paar comfortabele stevige wandelschoenen of schoenen voor het zo popu-laire Nordic Walking?<br>
U wilt een goed advies voor wat betreft de maat, de zool of het type(hoog of laag)?<br><br>
Dan bent u bij Gijs de Vreugd aan het goede adres. Over wandelschoenen is heel veel te vertellen.<br>
Diverse typen schoenen (A. B.C. en D)., en vele modellen zijn geschikt voor wandelingen over het strand,<br>
in de duinen, het bos of in de bergen.<br><br>
Dus wilt u comfortabel “de Kippenloop” lopen dan eerst een paar goede wandelschoe-nen bij Gijs de Vreugd kopen.<br><br>
Wij werken met de merken <b>LOWA</b> en <b>MEINDL</b>.<br><br>
Op vertoon van uw inschrijfformulier van de Kippenloop 2006 ontvangt u bij ons 10 % korting op wandelschoenen.<br><br>
Gijs de Vreugd schoenmode<br>
Hoornesplein 47 – 49<br>
Katwijk aan Zee<br><br>
Sponsor van de Kippenloop 2006',$headers);
mysql_close;
?>
if($_POST[Submit]){
//Hier geef je aan welke form items ingevuld MOETEN worden
if($_POST[voornaam] != "" AND
$_POST[achternaam] != "" AND
$_POST[straatnaam] != "" AND
$_POST[postcode] != "" AND
$_POST[plaats] != "" AND
$_POST[geboortedatum] != "" AND
$_POST[loop] != "" AND
$_POST[reknr] != "" AND
$_POST[naamvan] != "" AND
$_POST[bankplaats] != "" AND
$_POST[ad] != "" AND
$_POST[bedrag] != "" AND
$_POST[checkbox] != "")
{ mysql_query("INSERT INTO aanmeldinga (voornaam, tussenvoegsel, achternaam, straatnaam, postcode, plaats, geboortedatum, emailadres, loop, reknr, naamvan, bankplaats, bedrag, checkbox)
VALUES ('$_POST[voornaam]',
'$_POST[tussenvoegsel]',
'$_POST[achternaam]',
'$_POST[straatnaam]',
'$_POST[postcode]',
'$_POST[plaats]',
'$_POST[geboortedatum]',
'$_POST[emailadres]',
'$_POST[loop]',
'$_POST[reknr]',
'$_POST[naamvan]',
'$_POST[bankplaats]',
'$_POST[bedrag]',
'$_POST[checkbox]')");
echo "<p class='tekst'>Uw inschrijving is succesvol ontvangen! <br>
Download <a href='sponsorform.pdf' target='_blank'>hier</a> uw sponsorformulier.</p>";
}
else{
echo"<br>U moet wel alle velden invullen.";
echo '<br><a href="#" onClick="history.go(-1)">Terug</a>';
}
}else{
//Hier stel je het formuliertje op
echo "<form name=\"form\" method=\"post\" action=\"\"><table class=\"tekst\" width=\"400\" border=\"0\" cellspacing=\"0\">
<tr>
<td width=\"50%\">Voorletter(s): *</td>
<td width=\"50%\">
<input type=\"text\" name=\"voornaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Tussenvoegsel</td>
<td width=\"50%\">
<input type=\"text\" name=\"tussenvoegsel\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Achternaam *</td>
<td width=\"50%\">
<input type=\"text\" name=\"achternaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Straatnaam + Huisnummer *</td>
<td width=\"50%\">
<input type=\"text\" name=\"straatnaam\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Postcode *</td>
<td width=\"50%\">
<input type=\"text\" name=\"postcode\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Plaats *</td>
<td width=\"50%\">
<input type=\"text\" name=\"plaats\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Geboortedatum <font font-size=\"8pt\">dd-mm-jjjj*</font></td>
<td width=\"50%\">
<input type=\"text\" name=\"geboortedatum\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Email Adres</td>
<td width=\"50%\">
<input type=\"text\" name=\"emailadres\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"200\">Loop*</td>
<td><select name=\"loop\" size=\"1\" id=\"loop\">
<option></option>
<option>15 km kippenloop</option>
<option>25 km kippenloop</option>
<option>42 km kippenloop</option>
</select>
</td>
<tr>
<td width=\"50%\">Rekeningnummer*</td>
<td width=\"50%\">
<input type=\"text\" name=\"reknr\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Op naam van*</td>
<td width=\"50%\">
<input type=\"text\" name=\"naamvan\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Plaats*</td>
<td width=\"50%\">
<input type=\"text\" name=\"bankplaats\" size=\"30\">
</td>
</tr>
<tr>
<td width=\"50%\">Aantal deelnemers*</td>
<td width=\"50%\">
<input type=\"text\" name=\"ad\" size=\"30\" onkeyup=\"handle_bedrag (this.value);\">
</td>
</tr>
<tr>
<td width=\"50%\">Bedrag € </td>
<td width=\"50%\">
<input type=\"text\" name=\"bedrag\" size=\"30\" id=\"bedrag\" readonly=\"true\">
</td>
</tr>
<tr>
<td width=\"250\">Ga akkoord met automatische incasso*</td>
<td><input type=\"checkbox\" name=\"checkbox\" value=\"Akkoord met incasso \" />
</td>
</tr>
<td width=\"50%\"></td>
<td><input type=\"submit\" name=\"Submit\" value=\"Inschrijven\"> <input type=\"reset\" name=\"Reset\" value=\"Wissen\"></td>
</tr>
</table>
</form>";
}
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: Organistie Kippenloop 2006 <[email protected]>\r\n";
$to = mail($_POST['emailadres'], $_POST['loop'],'Uw inschrijving is met succes ontvangen.<br><br>
Voor meer informatie kijk op de <a href="http://www.katwijkwandelmarathon.nl" target="_blank"> website</a> van de kippenloop. Klik
<a href="http://www.katwijkwandelmarathon.nl/sponsorform.pdf" target="_blank">hier </a>om het sponsorformulier te downloaden.
<br><br> Met vriendelijke groeten, <br>Organistie Kippenloop 2006 <br><br>
<hr>
<img src="http://www.katwijkwandelmarathon.nl/images/gdvschoen.jpg" width="190" height="142" align="left" class="image" />
<b>Overweegt u de aanschaf van wandel of bergschoenen?</b><br><br>
Zoekt u een paar comfortabele stevige wandelschoenen of schoenen voor het zo popu-laire Nordic Walking?<br>
U wilt een goed advies voor wat betreft de maat, de zool of het type(hoog of laag)?<br><br>
Dan bent u bij Gijs de Vreugd aan het goede adres. Over wandelschoenen is heel veel te vertellen.<br>
Diverse typen schoenen (A. B.C. en D)., en vele modellen zijn geschikt voor wandelingen over het strand,<br>
in de duinen, het bos of in de bergen.<br><br>
Dus wilt u comfortabel “de Kippenloop” lopen dan eerst een paar goede wandelschoe-nen bij Gijs de Vreugd kopen.<br><br>
Wij werken met de merken <b>LOWA</b> en <b>MEINDL</b>.<br><br>
Op vertoon van uw inschrijfformulier van de Kippenloop 2006 ontvangt u bij ons 10 % korting op wandelschoenen.<br><br>
Gijs de Vreugd schoenmode<br>
Hoornesplein 47 – 49<br>
Katwijk aan Zee<br><br>
Sponsor van de Kippenloop 2006',$headers);
mysql_close;
?>
</span></p>
<p><span class="kop">* Verplicht</span>
</p>
<p align="center"><a href="javascript:window.close()" class="tekst">sluiten</a></p>
</center>
</body>
</html>
Nu wil ik graag dat de gegevens als extra zekerheid ook nog in een textbestand word geplaatst is dat mogelijk???
Vraag 2
Is het ook mogelijk dat de gegevens die worden ingetypt ook gelijk naar de inschrijvende persoon en voor de zekerheid iemand van de organisatie gemaild kan worden??
Als iemand mij daarmee kan helpen zou ik dat zeer op prijs stellen!
Mvg, Chris Klinkenberg
fopen / fwrite :)
Op en aanmerkingen;
$_POST[bankplaats] != ""
vervangen door
if(!empty($_POST['bankplaats']))
En gebruik iets van mysql_real_escape_string... Dat is niet alleen veiliger maar voorkomt ook problemen als iemand ergens een komma gebruikt o.i.d. Vandaar dat het soms dus misgaat gok ik.
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
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
<?php
$bestand = 'bestand.txt';
$content = 'woei';
if(file_exists($bestand))
{
if(is_writeable($bestand))
{
if($handeling = fopen($bestand, 'a'))
{
if(fwrite($handeling, $content))
{
echo 'Woei! Ik heb de opgegeven content toegevoegd aan het bestand!';
}else{
echo 'Sorry, ik kan niet naar het bestand ('.$bestand.') schrijven!';
}
}else{
echo 'Sorry, ik kan het bestand toch niet openen alhoewel ik eerst dacht van wel...';
}
}else{
echo 'Sorry, het bestand bestaat wel maar is niet beschrijfbaar!';
}
}else{
echo 'Sorry, het bestand bestaat niet!';
}
?>
$bestand = 'bestand.txt';
$content = 'woei';
if(file_exists($bestand))
{
if(is_writeable($bestand))
{
if($handeling = fopen($bestand, 'a'))
{
if(fwrite($handeling, $content))
{
echo 'Woei! Ik heb de opgegeven content toegevoegd aan het bestand!';
}else{
echo 'Sorry, ik kan niet naar het bestand ('.$bestand.') schrijven!';
}
}else{
echo 'Sorry, ik kan het bestand toch niet openen alhoewel ik eerst dacht van wel...';
}
}else{
echo 'Sorry, het bestand bestaat wel maar is niet beschrijfbaar!';
}
}else{
echo 'Sorry, het bestand bestaat niet!';
}
?>
wat is een mysql_real_escape_string
en zou je als je zin/ tijd heb even willen uitleggen hoe ik dat naar bestandje wegschrijven in mijn code inpas ?
gr chris
Nu zijn alle gevaarijke tekens bijv ' , ; ed onschadelijk gemaakt en kun je $_POST[voornaam] in je DB drukken.
Opgemerkt moet worden dat de waarde van $_POST[voornaam] nu ook echt veranderd is.
Daarom wordt ook vaak zoiets gedaan:
$schoon_naam=mysql_real_escape_string($$_POST[voornaam]);
#schoon_tussen=mysql_real_escape_string(($_POST[tussenvoegsel]);
Nu kun je de naam van de persson nog steed gebruiken
echo "Hallo ".$_POST['voornaam']." leuk dat je er bent";
Tevens zitten er nog wat fouten in jou voorbeelden.. ik zie een #, een dubbel haakje, een dubbel $-teken. Voor jou en mij is het 'duh', maar andere vragen zich af waarom het niet werkt ;).
en idd is het voor zo langzamerhand DUH en ik zal er op letten :)