Contactformulier aanpassen
Ik heb een heel mooi werkend contactformulier, maar hij is nog niet helemaal af.
Als je op versturen klikt, dan kom je op de pagina dat het formulier met succes verzonden is en meer niet.
Hier moet dus nog het webadres komen waar je dan automatisch heen gelinkt wordt, vraag is nu hoe doe ik dat en moet ik het volledige script posten of alleen een stukje relevante tekst en welk stukje is dan relevant??
Dit zet je onder de code neer waarbij je zegt dat het formulier met succes is verzonden.
Bij hier je link vul je dan het adres in waar je automatisch naar toe wilt gaan nadat het formulier is verzonden.
Gewijzigd op 28/02/2011 16:42:36 door Maikel B
of een redirection indd met javascript
<script type="text/javascript">
location.href="index.php";
</script>
Warning: Cannot modify header information - headers already sent by (output started at /home/alles21/domains/hd-assendelft.nl/public_html/formulier/contactformulier.php:241) in /home/alles21/domains/hd-assendelft.nl/public_html/formulier/contactformulier.php on line 242
Als je header('location: ...') gebruikt, mag je absoluut niet eerst iets echo'en.
Geen html, geen spatie, geen enter ...
Toon eens wat er gebeurt een in de buurt van lijn 242 (een aantal lijnen er voor; een aantal er na)
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<?PHP
define('kOptional', true);
define('kMandatory', false);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('track_errors', true);
function CaptchaGenerator() {
if ( (!function_exists('imagejpeg')) && (!function_exists('imagepng')) ) {
exit;
}
$im = imagecreate(100,40);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
$gray = imagecolorallocate($im, 150, 150, 150);
imagerectangle($im, 0, 0, 25, 39, $gray);
imagerectangle($im, 25, 0, 50, 39, $gray);
imagerectangle($im, 50, 0, 75, 39, $gray);
imagerectangle($im, 75, 0, 99, 39, $gray);
imageline($im, 0, 0, 25, 39, $gray);
imageline($im, 25, 0, 50, 39, $gray);
imageline($im, 50, 0, 75, 39, $gray);
imageline($im, 75, 0, 99, 39, $gray);
imageline($im, 0, 39, 25, 0, $gray);
imageline($im, 25, 39, 50, 0, $gray);
imageline($im, 50, 39, 75, 0, $gray);
imageline($im, 75, 39, 99, 0, $gray);
$c1 = rand(65, 90);
$c2 = rand(65, 90);
$c3 = rand(65, 90);
$c4 = rand(65, 90);
$c5 = rand(65, 90);
$textOut = chr($c1) . ' ' . chr($c2) . ' ' . chr($c3) . ' ' . chr($c4) . ' ' . chr($c5);
$textCaptcha = chr($c1) . chr($c2) . chr($c3) . chr($c4) . chr($c5);
$a = imagestring($im, 5, 11, 13, $textOut, $black);
$fileName = substr(md5($textCaptcha), 0, 12);
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
if ( !is_writable( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" is niet beschrijfbaar. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
while ( $captchaFile = readdir($handle) ) {
if ( ( substr($captchaFile, 0, 1) != '.' ) && ( substr($captchaFile, 0, 1) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( ( filemtime( '../captchabestanden/' . '/' . $captchaFile ) + 300 ) < time() ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
}
}
}
closedir( $handle );
$handle = @fopen( '../captchabestanden/' . '/' . $fileName, 'w' );
if ( !$handle ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: het is onmogelijk gebleken om een captcha controle bestand te maken. Script zal nu stoppen.</body></html>';
exit;
}
fclose($handle);
if (imagetypes() & IMG_JPG) {
header('Content-type: image/jpeg');
imagejpeg($im);
} elseif (imagetypes() & IMG_PNG) {
header('Content-type: image/png');
imagepng($im);
}
exit;
}
function DoStripSlashes($fieldValue) {
if ( get_magic_quotes_gpc() ) {
if (is_array($fieldValue) ) {
return array_map('DoStripSlashes', $fieldValue);
} else {
return stripslashes($fieldValue);
}
} else {
return $fieldValue;
}
}
function FilterCChars($theString) {
return preg_replace('/[\x00-\x1F]/', '', $theString);
}
function CheckFTGCaptcha($accessCode) {
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
$fileAccessCode = substr( md5( $accessCode ), 0, 12 );
while ( $captchaFile = readdir( $handle ) ) {
if ( substr( $captchaFile, 0, 1 ) != '.' ) {
if ( $fileAccessCode == $captchaFile ) {
return true;
}
}
}
return false;
}
function DeleteCaptcha($accessCode) {
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
$fileAccessCode = substr( md5( $accessCode ), 0, 12 );
while ( $captchaFile = readdir( $handle ) ) {
if ( ( substr( $captchaFile, 0, 1 ) != '.' ) && ( substr( $captchaFile, 0, 1 ) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( $fileAccessCode == $captchaFile ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
return;
}
}
}
}
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$clientIP = $_SERVER['REMOTE_ADDR'];
}
if ( isset($_REQUEST['captchaimage']) ) {
CaptchaGenerator();
exit;
}
$FTGvoornaam = DoStripSlashes( $_POST['voornaam'] );
$FTGachternaam = DoStripSlashes( $_POST['achternaam'] );
$FTGadres = DoStripSlashes( $_POST['adres'] );
$FTGpostcodewoonplaats = DoStripSlashes( $_POST['postcodewoonplaats'] );
$FTGtelefoonnummer = DoStripSlashes( $_POST['telefoonnummer'] );
$FTGemailadres = DoStripSlashes( $_POST['emailadres'] );
$FTGopmerkingen = DoStripSlashes( $_POST['opmerkingen'] );
$FTGbeveiliging = DoStripSlashes( $_POST['beveiliging'] );
$FTGverzenden = DoStripSlashes( $_POST['verzenden'] );
$validationFailed = false;
if ( !CheckFTGCaptcha($FTGbeveiliging)) {
$FTGErrorMessage['beveiliging'] = '';
$validationFailed = true;
}
if ( $validationFailed == True) {
$errorPage = '<html><head><title>Error</title></head><body>Het formulier is niet verstuurd. Probeer het nogmaals.</body></html>';
$errorPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $errorPage);
$errorList = @implode("<br />\n", $FTGErrorMessage);
$errorPage = str_replace('<!--VALIDATIONERROR-->', $errorList, $errorPage);
echo $errorPage;
}
if ( $validationFailed == False) {
$emailSubject = FilterCChars("Mail ontvangen van Contactformulier.");
$emailBody = "Voornaam : $FTGvoornaam\n"
. "Achternaam : $FTGachternaam\n"
. "Adres : $FTGadres\n"
. "Postcode + woonplaats : $FTGpostcodewoonplaats\n"
. "Telefoonnummer : $FTGtelefoonnummer\n"
. "E-mailadres : $FTGemailadres\n"
. "Opmerkingen : $FTGopmerkingen";
$emailTo = 'jouw naam <[email protected]>';
$emailFrom = FilterCChars("[email protected]");
$emailHeader = "From: $emailFrom\n"
. "MIME-Version: 1.0\n"
. "Content-type: text/plain; charset=\"ISO-8859-1\"\n"
. "Content-transfer-encoding: 7bit\n";
mail($emailTo, $emailSubject, $emailBody, $emailHeader);
DeleteCaptcha($FTGbeveiliging);
$successPage = '<html><head><title>Success</title></head><body>Het formulier is succesvol verstuurd.</body></html>';
$successPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $successPage);
$successPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $successPage);
$successPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $successPage);
$successPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $successPage);
$successPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $successPage);
echo $successPage;
}
?>
define('kOptional', true);
define('kMandatory', false);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('track_errors', true);
function CaptchaGenerator() {
if ( (!function_exists('imagejpeg')) && (!function_exists('imagepng')) ) {
exit;
}
$im = imagecreate(100,40);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
$gray = imagecolorallocate($im, 150, 150, 150);
imagerectangle($im, 0, 0, 25, 39, $gray);
imagerectangle($im, 25, 0, 50, 39, $gray);
imagerectangle($im, 50, 0, 75, 39, $gray);
imagerectangle($im, 75, 0, 99, 39, $gray);
imageline($im, 0, 0, 25, 39, $gray);
imageline($im, 25, 0, 50, 39, $gray);
imageline($im, 50, 0, 75, 39, $gray);
imageline($im, 75, 0, 99, 39, $gray);
imageline($im, 0, 39, 25, 0, $gray);
imageline($im, 25, 39, 50, 0, $gray);
imageline($im, 50, 39, 75, 0, $gray);
imageline($im, 75, 39, 99, 0, $gray);
$c1 = rand(65, 90);
$c2 = rand(65, 90);
$c3 = rand(65, 90);
$c4 = rand(65, 90);
$c5 = rand(65, 90);
$textOut = chr($c1) . ' ' . chr($c2) . ' ' . chr($c3) . ' ' . chr($c4) . ' ' . chr($c5);
$textCaptcha = chr($c1) . chr($c2) . chr($c3) . chr($c4) . chr($c5);
$a = imagestring($im, 5, 11, 13, $textOut, $black);
$fileName = substr(md5($textCaptcha), 0, 12);
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
if ( !is_writable( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" is niet beschrijfbaar. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
while ( $captchaFile = readdir($handle) ) {
if ( ( substr($captchaFile, 0, 1) != '.' ) && ( substr($captchaFile, 0, 1) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( ( filemtime( '../captchabestanden/' . '/' . $captchaFile ) + 300 ) < time() ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
}
}
}
closedir( $handle );
$handle = @fopen( '../captchabestanden/' . '/' . $fileName, 'w' );
if ( !$handle ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: het is onmogelijk gebleken om een captcha controle bestand te maken. Script zal nu stoppen.</body></html>';
exit;
}
fclose($handle);
if (imagetypes() & IMG_JPG) {
header('Content-type: image/jpeg');
imagejpeg($im);
} elseif (imagetypes() & IMG_PNG) {
header('Content-type: image/png');
imagepng($im);
}
exit;
}
function DoStripSlashes($fieldValue) {
if ( get_magic_quotes_gpc() ) {
if (is_array($fieldValue) ) {
return array_map('DoStripSlashes', $fieldValue);
} else {
return stripslashes($fieldValue);
}
} else {
return $fieldValue;
}
}
function FilterCChars($theString) {
return preg_replace('/[\x00-\x1F]/', '', $theString);
}
function CheckFTGCaptcha($accessCode) {
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
$fileAccessCode = substr( md5( $accessCode ), 0, 12 );
while ( $captchaFile = readdir( $handle ) ) {
if ( substr( $captchaFile, 0, 1 ) != '.' ) {
if ( $fileAccessCode == $captchaFile ) {
return true;
}
}
}
return false;
}
function DeleteCaptcha($accessCode) {
$captchaDir = '../captchabestanden/';
if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory "../captchabestanden" niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}
$handle = opendir( $captchaDir );
$fileAccessCode = substr( md5( $accessCode ), 0, 12 );
while ( $captchaFile = readdir( $handle ) ) {
if ( ( substr( $captchaFile, 0, 1 ) != '.' ) && ( substr( $captchaFile, 0, 1 ) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( $fileAccessCode == $captchaFile ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
return;
}
}
}
}
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$clientIP = $_SERVER['REMOTE_ADDR'];
}
if ( isset($_REQUEST['captchaimage']) ) {
CaptchaGenerator();
exit;
}
$FTGvoornaam = DoStripSlashes( $_POST['voornaam'] );
$FTGachternaam = DoStripSlashes( $_POST['achternaam'] );
$FTGadres = DoStripSlashes( $_POST['adres'] );
$FTGpostcodewoonplaats = DoStripSlashes( $_POST['postcodewoonplaats'] );
$FTGtelefoonnummer = DoStripSlashes( $_POST['telefoonnummer'] );
$FTGemailadres = DoStripSlashes( $_POST['emailadres'] );
$FTGopmerkingen = DoStripSlashes( $_POST['opmerkingen'] );
$FTGbeveiliging = DoStripSlashes( $_POST['beveiliging'] );
$FTGverzenden = DoStripSlashes( $_POST['verzenden'] );
$validationFailed = false;
if ( !CheckFTGCaptcha($FTGbeveiliging)) {
$FTGErrorMessage['beveiliging'] = '';
$validationFailed = true;
}
if ( $validationFailed == True) {
$errorPage = '<html><head><title>Error</title></head><body>Het formulier is niet verstuurd. Probeer het nogmaals.</body></html>';
$errorPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $errorPage);
$errorList = @implode("<br />\n", $FTGErrorMessage);
$errorPage = str_replace('<!--VALIDATIONERROR-->', $errorList, $errorPage);
echo $errorPage;
}
if ( $validationFailed == False) {
$emailSubject = FilterCChars("Mail ontvangen van Contactformulier.");
$emailBody = "Voornaam : $FTGvoornaam\n"
. "Achternaam : $FTGachternaam\n"
. "Adres : $FTGadres\n"
. "Postcode + woonplaats : $FTGpostcodewoonplaats\n"
. "Telefoonnummer : $FTGtelefoonnummer\n"
. "E-mailadres : $FTGemailadres\n"
. "Opmerkingen : $FTGopmerkingen";
$emailTo = 'jouw naam <[email protected]>';
$emailFrom = FilterCChars("[email protected]");
$emailHeader = "From: $emailFrom\n"
. "MIME-Version: 1.0\n"
. "Content-type: text/plain; charset=\"ISO-8859-1\"\n"
. "Content-transfer-encoding: 7bit\n";
mail($emailTo, $emailSubject, $emailBody, $emailHeader);
DeleteCaptcha($FTGbeveiliging);
$successPage = '<html><head><title>Success</title></head><body>Het formulier is succesvol verstuurd.</body></html>';
$successPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $successPage);
$successPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $successPage);
$successPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $successPage);
$successPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $successPage);
$successPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $successPage);
echo $successPage;
}
?>
Welke lijn hier komt bij jou overeen met lijn 242 (daarom vroeg ik juist naar de omgeving van die lijn)?
Gewijzigd op 01/03/2011 14:17:48 door Kris Peeters
In het script, dat ik hier nu net geplaatst heb zit geen fout. Dit werkt perfect, het enige dat mist is de opdracht om nadat hij de succes pagina getoond hebt het terug te keren naar de index bv.
Ik heb het stukje script dat hier gepost werd volgens mij verkeerd geplaatst, vandaar dat ik kwam met een foutmelding.
Groet,
Rens
Toevoeging op 02/03/2011 10:53:55:
|Mensen bedankt voor de hulp.
Ik ben eruit en alles werkt precies zoals het moet. Mooi contactformulier en hij brengt je na 3 sec terug naar de startpagina. Was even zoeken en een beetje veel scripts lezen, maar het werkt ;-)
Groet
Rens