Input velden verdwijnen na PHP echo
Pagina: « vorige 1 2 3 volgende »
Wat doet hij als je dit doet? @Erwin: Dat is idd mijn oude opzet
2) Gebruik je php 5.4?
@Chris: Hee Chris, ik krijg nu 2 syntax errors op beide regels code.
Sebastian V op 28/08/2012 12:24:52:
@Chris: Hee Chris, ik krijg nu 2 syntax errors op beide regels code.
Post even de error's
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
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
<?php
require_once("php/db.php"); /* Database Class */
require_once('php/utils/is_email.php'); /* Email Validation Script */
if(isset($_POST['newcontact'])){
$contact = new Contact();
//We'll refer to that later on, to display errors.
//unset($contact);
}
else{
//header('Location: result.php');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
//private $errors = array(); /* holds error messages */
//we have to init $errors array, as otherwise form will produce errors on missing array entry
private $errors = array( /* holds error messages */
'aanhef' => '',
'bedrijfsnaam' => '',
'email' => '',
'telefoon' => '',
'vraag1_antwoorden' => '',
'vraag2_antwoorden' => ''
);
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
/* We don't need this anymore
*
else
header('Location: result.php');*/
}
public function processNewMessage(){
$aanhef = $_POST['aanhef'];
$contactpersoon = $_POST['contactpersoon'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$vraag1_antwoorden = $_POST['vraag1_antwoorden'];
$vraag2_antwoorden = $_POST['vraag2_antwoorden'];
/* Server Side Data Validation */
if(!$aanhef || mb_strlen($aanhef = trim($aanhef)) == '') {
$this->setError('aanhef', 'Vul uw aanhef in' );
}
if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == '') {
$this->setError('contactpersoon', 'Vul uw contactpersoon in');
} else if (mb_strlen(trim($contactpersoon)) > 120) {
$this->setError('contactpersoon', 'Te lang! 120 karakters max.'); }
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == '') {
$this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
} else if (mb_strlen(trim($bedrijfsnaam)) > 120) {
$this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.'); }
if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == '') {
$this->setError('telefoon', 'Vul uw telefoon in');
} else if (mb_strlen(trim($telefoon)) > 120) {
$this->setError('telefoon', 'Te lang! 120 karakters max.'); }
if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == '') {
$this->setError('vraag1_antwoorden', 'Selecteer een antwoord a.u.b.'); }
if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == '') {
$this->setError('vraag2_antwoorden', 'Selecteer een antwoord a.u.b.'); }
if(!$email || mb_strlen($email = trim($email)) == '') {
$this->setError('email', 'Vul uw email in');
} else if (mb_strlen(trim($email)) > 120) {
$this->setError('email', 'Te lang! 120 karakters max.'); }
/* No errors, insert in db
else*/
if($this->countErrors() == 0) {
if(($ret = $this->db->dbNewMessage($aanhef, $contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
//$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
//This is for relocating to successful result page
header('Location: result.php');
} else {
// else
// $json = array('result' => -2); /* something went wrong in database insertion */
//This will need special treatment. You have to prepare an errorpage
//for database-related issues.
header("Location: database-error.html");
}
/*$encoded = json_encode($json);
echo $encoded;
unset($encoded);*/
}
}
[/code]
require_once("php/db.php"); /* Database Class */
require_once('php/utils/is_email.php'); /* Email Validation Script */
if(isset($_POST['newcontact'])){
$contact = new Contact();
//We'll refer to that later on, to display errors.
//unset($contact);
}
else{
//header('Location: result.php');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
//private $errors = array(); /* holds error messages */
//we have to init $errors array, as otherwise form will produce errors on missing array entry
private $errors = array( /* holds error messages */
'aanhef' => '',
'bedrijfsnaam' => '',
'email' => '',
'telefoon' => '',
'vraag1_antwoorden' => '',
'vraag2_antwoorden' => ''
);
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
/* We don't need this anymore
*
else
header('Location: result.php');*/
}
public function processNewMessage(){
$aanhef = $_POST['aanhef'];
$contactpersoon = $_POST['contactpersoon'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$vraag1_antwoorden = $_POST['vraag1_antwoorden'];
$vraag2_antwoorden = $_POST['vraag2_antwoorden'];
/* Server Side Data Validation */
if(!$aanhef || mb_strlen($aanhef = trim($aanhef)) == '') {
$this->setError('aanhef', 'Vul uw aanhef in' );
}
if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == '') {
$this->setError('contactpersoon', 'Vul uw contactpersoon in');
} else if (mb_strlen(trim($contactpersoon)) > 120) {
$this->setError('contactpersoon', 'Te lang! 120 karakters max.'); }
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == '') {
$this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
} else if (mb_strlen(trim($bedrijfsnaam)) > 120) {
$this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.'); }
if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == '') {
$this->setError('telefoon', 'Vul uw telefoon in');
} else if (mb_strlen(trim($telefoon)) > 120) {
$this->setError('telefoon', 'Te lang! 120 karakters max.'); }
if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == '') {
$this->setError('vraag1_antwoorden', 'Selecteer een antwoord a.u.b.'); }
if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == '') {
$this->setError('vraag2_antwoorden', 'Selecteer een antwoord a.u.b.'); }
if(!$email || mb_strlen($email = trim($email)) == '') {
$this->setError('email', 'Vul uw email in');
} else if (mb_strlen(trim($email)) > 120) {
$this->setError('email', 'Te lang! 120 karakters max.'); }
/* No errors, insert in db
else*/
if($this->countErrors() == 0) {
if(($ret = $this->db->dbNewMessage($aanhef, $contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
//$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
//This is for relocating to successful result page
header('Location: result.php');
} else {
// else
// $json = array('result' => -2); /* something went wrong in database insertion */
//This will need special treatment. You have to prepare an errorpage
//for database-related issues.
header("Location: database-error.html");
}
/*$encoded = json_encode($json);
echo $encoded;
unset($encoded);*/
}
}
[/code]
En twee, gebruik je php 5.4. De syntax die Chris geeft is namelijk pas bruikbaar vanaf 5.4 en niet veel mensen/hosters draaien dat al.
Gewijzigd op 28/08/2012 12:28:54 door Erwin H
Dan is het toch niet $this->setError maar $this->errors ?
@Chris: Parse error: syntax error, unexpected T_DOUBLE_ARROW, expecting ']' in C:\domains\projecten\wwwroot\iPad\quiz.php on line 130
Mannen ik ga ff een broodje pakken en dit alles doornemen, ik kom hierop terug na de lunch. Bedankt zover!
Sinds wanneer is dat correcte array syntax Chris?
Erwin H op 28/08/2012 12:49:08:
Sinds wanneer is dat correcte array syntax Chris?
Sinds het begin van php? $errors is bovenaan het script toch al als een array gedeclareerd?
Dan zou dat toch moeten werken? Of moet daar dan toch nog array voor staan?
dus zo $this->errors = array ('aanhef' => 'Vul uw aanhef in');
$this->errors['aanhef'] = 'Vul uw aanhef in';
Als je de complete array opnieuw wilt declareren:
$this->errors = array ('aanhef' => 'Vul uw aanhef in');
Bij de laatste verdwijnt dus alles wat je al had in de array.
Gewijzigd op 28/08/2012 13:15:50 door Erwin H
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
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
<div id="formulierruimte">
<?php
require_once("php/db.php"); /* Database Class */
require_once('php/utils/is_email.php'); /* Email Validation Script */
/* Handle Ajax Request */
if(isset($_POST['newcontact'])){
$contact = new Contact();
//We'll refer to that later on, to display errors.
//unset($contact);
}
else{
//header('Location: result.php');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
//private $errors = array(); /* holds error messages */
//we have to init $errors array, as otherwise form will produce errors on missing array entry
private $errors = array( /* holds error messages */
'aanhef' => '',
'bedrijfsnaam' => '',
'email' => '',
'telefoon' => '',
'vraag1_antwoorden' => '',
'vraag2_antwoorden' => ''
);
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
/* We don't need this anymore
*
else
header('Location: result.php');*/
}
public function processNewMessage(){
$aanhef = $_POST['aanhef'];
$contactpersoon = $_POST['contactpersoon'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$vraag1_antwoorden = $_POST['vraag1_antwoorden'];
$vraag2_antwoorden = $_POST['vraag2_antwoorden'];
/* Server Side Data Validation */
if(isset($aanhef) || $aanhef == ''){
$this->errors['aanhef'] = 'Vul uw aanhef in';
}
if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == '') {
$this->errors['contactpersoon'] = 'Vul uw contactpersoon in';
} else if (mb_strlen(trim($contactpersoon)) > 120) {
$this->errors('contactpersoon', 'Te lang! 120 karakters max.'); }
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == '') {
$this->errors['bedrijfsnaam'] = 'Vul uw bedrijfsnaam in';
} else if (mb_strlen(trim($bedrijfsnaam)) > 120) {
$this->errors('bedrijfsnaam', 'Te lang! 120 karakters max.'); }
if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == '') {
$this->errors['telefoon'] = 'Vul uw telefoon in';
} else if (mb_strlen(trim($telefoon)) > 120) {
$this->errors('telefoon', 'Te lang! 120 karakters max.'); }
if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == '') {
$this->errors['vraag1_antwoorden'] = 'Selecteer een antwoord a.u.b.'; }
if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == '') {
$this->errors['vraag2_antwoorden'] = 'Selecteer een antwoord a.u.b.'; }
if(!$email || mb_strlen($email = trim($email)) == '') {
$this->errors['email'] = 'Vul uw e-mail in';
} else if (mb_strlen(trim($email)) > 120) {
$this->errors('email', 'Te lang! 120 karakters max.'); }
/* No errors, insert in db
else*/
if($this->countErrors() == 0) {
if(($ret = $this->db->dbNewMessage($aanhef, $contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
//$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
//This is for relocating to successful result page
header('Location: result.php');
} else {
// else
// $json = array('result' => -2); /* something went wrong in database insertion */
//This will need special treatment. You have to prepare an errorpage
//for database-related issues.
header("Location: database-error.html");
}
/*$encoded = json_encode($json);
echo $encoded;
unset($encoded);*/
}
}
public function sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden){
/* Just format the email text the way you want ... */
$message_body = "<div style=\"font-size:12px; font-weight:normal;\">Hallo,<br><br>"
."Het volgende bedrijf heeft zich zojuist aangemeld:</div><br>"
."<table cellpadding=\"1\" cellspacing=\"1\" width=\"550px\"><tr><td style=\"font-size:12px; color:#000000\">Bedrijfsnaam:</td><td style=\"font-size:12px; color:#000000\">".$bedrijfsnaam."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Aanhef:</td><td style=\"font-size:12px; color:#000000\">".$aanhef."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Contactpersoon:</td><td style=\"font-size:12px; color:#000000\">".$contactpersoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Telefoonnummer:</td><td style=\"font-size:12px; color:#000000\">".$telefoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">E-mail:</td><td style=\"font-size:12px; color:#000000\">".$email."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 1:</td><td style=\"font-size:12px; color:#000000\">".$vraag1_antwoorden."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 2:</td><td style=\"font-size:12px; color:#000000\">".$vraag2_antwoorden."</td></tr></table><br>";
// Geef GELDIGE adressen op
// Een korte benaming voor jouw website
$website_naam = 'Aanmelding';
// Jouw eigen geldige emailadres
$eigen_emailadres = 'MAIL';
// Een geldig emailadres voor errors
$error_emailadres = 'MAIL';
// De naam van de verzender
$naam_verzender = ''.$bedrijfsnaam.'';
// Het geldige emailadres van de afzender
$email_verzender = ''.$email.'';
// Een geldig emailadres of helemaal leeg laten
$bcc_emailadres = '';
// HTML mail? True/False
$html = true;
// De headers samenstellen
$headers = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
$headers .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
$headers .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
$headers .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . PHP_EOL : '';
$headers .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
$headers .= 'X-Priority: Normal' . PHP_EOL;
$headers .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';
mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);
}
public function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}
public function error_value($field){
if(array_key_exists($field,$this->errors))
return $this->errors[$field];
else
return '';
}
public function countErrors(){
return $this->num_errors;
}
};
?>
<table width="675px" cellpadding="0" cellspacing="0">
<form id="ContactForm" action="quiz.php" method="post">
<tr>
<td class="left_td"> </td><td><font size="-2">* Gelieve alle velden in te vullen.</font></td>
</tr>
<tr class="rij_aanhef">
<td class="left_td">Aanhef<font size="-2" style="vertical-align:top;">*</font></td>
<td>
<label class="label_aanhef" for="aanhef_1"><input name="aanhef" id="aanhef_1" value="Dhr." type="radio" /> Dhr.</label><label class="label_aanhef" for="aanhef_2"><input name="aanhef" id="aanhef_2" value="Mevr." type="radio" /> Mevr.</label>
<span class="error">
<?php echo $aanhef->error_value['aanhef']; ?>
</span>
</td>
</tr>
<tr class="rij_contactpersoon">
<td class="left_td">Contactpersoon</td>
<td>
<input id="contactpersoon" name="contactpersoon" class="inplaceError" maxlength="120" type="text" class="error" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $contactpersoon->error_value['contactpersoon']; ?>
</span>
</td>
</tr>
<tr class="rij_bedrijf">
<td class="left_td">Bedrijfsnaam</td>
<td>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $bedrijfsnaam->error_value['bedrijfsnaam']; ?>
</span>
</td>
</tr>
<tr>
<td class="left_td">E-mail</td>
<td>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $email->error_value['email']; ?>
</span>
</td>
</tr>
<tr>
<td class="left_td">Telefoonnummer</td>
<td><input id="telefoon" name="telefoon" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $telefoon->error_value['telefoon']; ?>
</span>
</td>
</tr>
</table>
</div>
<?php
require_once("php/db.php"); /* Database Class */
require_once('php/utils/is_email.php'); /* Email Validation Script */
/* Handle Ajax Request */
if(isset($_POST['newcontact'])){
$contact = new Contact();
//We'll refer to that later on, to display errors.
//unset($contact);
}
else{
//header('Location: result.php');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
//private $errors = array(); /* holds error messages */
//we have to init $errors array, as otherwise form will produce errors on missing array entry
private $errors = array( /* holds error messages */
'aanhef' => '',
'bedrijfsnaam' => '',
'email' => '',
'telefoon' => '',
'vraag1_antwoorden' => '',
'vraag2_antwoorden' => ''
);
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
/* We don't need this anymore
*
else
header('Location: result.php');*/
}
public function processNewMessage(){
$aanhef = $_POST['aanhef'];
$contactpersoon = $_POST['contactpersoon'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$vraag1_antwoorden = $_POST['vraag1_antwoorden'];
$vraag2_antwoorden = $_POST['vraag2_antwoorden'];
/* Server Side Data Validation */
if(isset($aanhef) || $aanhef == ''){
$this->errors['aanhef'] = 'Vul uw aanhef in';
}
if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == '') {
$this->errors['contactpersoon'] = 'Vul uw contactpersoon in';
} else if (mb_strlen(trim($contactpersoon)) > 120) {
$this->errors('contactpersoon', 'Te lang! 120 karakters max.'); }
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == '') {
$this->errors['bedrijfsnaam'] = 'Vul uw bedrijfsnaam in';
} else if (mb_strlen(trim($bedrijfsnaam)) > 120) {
$this->errors('bedrijfsnaam', 'Te lang! 120 karakters max.'); }
if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == '') {
$this->errors['telefoon'] = 'Vul uw telefoon in';
} else if (mb_strlen(trim($telefoon)) > 120) {
$this->errors('telefoon', 'Te lang! 120 karakters max.'); }
if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == '') {
$this->errors['vraag1_antwoorden'] = 'Selecteer een antwoord a.u.b.'; }
if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == '') {
$this->errors['vraag2_antwoorden'] = 'Selecteer een antwoord a.u.b.'; }
if(!$email || mb_strlen($email = trim($email)) == '') {
$this->errors['email'] = 'Vul uw e-mail in';
} else if (mb_strlen(trim($email)) > 120) {
$this->errors('email', 'Te lang! 120 karakters max.'); }
/* No errors, insert in db
else*/
if($this->countErrors() == 0) {
if(($ret = $this->db->dbNewMessage($aanhef, $contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
//$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
//This is for relocating to successful result page
header('Location: result.php');
} else {
// else
// $json = array('result' => -2); /* something went wrong in database insertion */
//This will need special treatment. You have to prepare an errorpage
//for database-related issues.
header("Location: database-error.html");
}
/*$encoded = json_encode($json);
echo $encoded;
unset($encoded);*/
}
}
public function sendEmail($aanhef,$contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden){
/* Just format the email text the way you want ... */
$message_body = "<div style=\"font-size:12px; font-weight:normal;\">Hallo,<br><br>"
."Het volgende bedrijf heeft zich zojuist aangemeld:</div><br>"
."<table cellpadding=\"1\" cellspacing=\"1\" width=\"550px\"><tr><td style=\"font-size:12px; color:#000000\">Bedrijfsnaam:</td><td style=\"font-size:12px; color:#000000\">".$bedrijfsnaam."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Aanhef:</td><td style=\"font-size:12px; color:#000000\">".$aanhef."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Contactpersoon:</td><td style=\"font-size:12px; color:#000000\">".$contactpersoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Telefoonnummer:</td><td style=\"font-size:12px; color:#000000\">".$telefoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">E-mail:</td><td style=\"font-size:12px; color:#000000\">".$email."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 1:</td><td style=\"font-size:12px; color:#000000\">".$vraag1_antwoorden."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 2:</td><td style=\"font-size:12px; color:#000000\">".$vraag2_antwoorden."</td></tr></table><br>";
// Geef GELDIGE adressen op
// Een korte benaming voor jouw website
$website_naam = 'Aanmelding';
// Jouw eigen geldige emailadres
$eigen_emailadres = 'MAIL';
// Een geldig emailadres voor errors
$error_emailadres = 'MAIL';
// De naam van de verzender
$naam_verzender = ''.$bedrijfsnaam.'';
// Het geldige emailadres van de afzender
$email_verzender = ''.$email.'';
// Een geldig emailadres of helemaal leeg laten
$bcc_emailadres = '';
// HTML mail? True/False
$html = true;
// De headers samenstellen
$headers = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
$headers .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
$headers .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
$headers .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . PHP_EOL : '';
$headers .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
$headers .= 'X-Priority: Normal' . PHP_EOL;
$headers .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';
mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);
}
public function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}
public function error_value($field){
if(array_key_exists($field,$this->errors))
return $this->errors[$field];
else
return '';
}
public function countErrors(){
return $this->num_errors;
}
};
?>
<table width="675px" cellpadding="0" cellspacing="0">
<form id="ContactForm" action="quiz.php" method="post">
<tr>
<td class="left_td"> </td><td><font size="-2">* Gelieve alle velden in te vullen.</font></td>
</tr>
<tr class="rij_aanhef">
<td class="left_td">Aanhef<font size="-2" style="vertical-align:top;">*</font></td>
<td>
<label class="label_aanhef" for="aanhef_1"><input name="aanhef" id="aanhef_1" value="Dhr." type="radio" /> Dhr.</label><label class="label_aanhef" for="aanhef_2"><input name="aanhef" id="aanhef_2" value="Mevr." type="radio" /> Mevr.</label>
<span class="error">
<?php echo $aanhef->error_value['aanhef']; ?>
</span>
</td>
</tr>
<tr class="rij_contactpersoon">
<td class="left_td">Contactpersoon</td>
<td>
<input id="contactpersoon" name="contactpersoon" class="inplaceError" maxlength="120" type="text" class="error" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $contactpersoon->error_value['contactpersoon']; ?>
</span>
</td>
</tr>
<tr class="rij_bedrijf">
<td class="left_td">Bedrijfsnaam</td>
<td>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $bedrijfsnaam->error_value['bedrijfsnaam']; ?>
</span>
</td>
</tr>
<tr>
<td class="left_td">E-mail</td>
<td>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $email->error_value['email']; ?>
</span>
</td>
</tr>
<tr>
<td class="left_td">Telefoonnummer</td>
<td><input id="telefoon" name="telefoon" class="inplaceError" maxlength="120" type="text" autocomplete="off" onFocus="window.scrollTo(0, 0);"/>
<span class="error">
<?php echo $telefoon->error_value['telefoon']; ?>
</span>
</td>
</tr>
</table>
</div>
Gewijzigd op 28/08/2012 13:19:11 door Sebas V
Erwin H op 28/08/2012 13:15:12:
Als je een element in een array wilt toevoegen (of wijzigen):
$this->errors['aanhef'] = 'Vul uw aanhef in';
Als je de complete array opnieuw wilt declareren:
$this->errors = array ('aanhef' => 'Vul uw aanhef in');
Bij de laatste verdwijnt dus alles wat je al had in de array.
$this->errors['aanhef'] = 'Vul uw aanhef in';
Als je de complete array opnieuw wilt declareren:
$this->errors = array ('aanhef' => 'Vul uw aanhef in');
Bij de laatste verdwijnt dus alles wat je al had in de array.
Aaah ok, thnx voor de helderheid. Dit is duidelijke taal, dus dan zou hij die syntax moeten gebruiken.
Toevoeging op 28/08/2012 13:23:00:
@Sebastian,
Doe het eens zo.
Code (php)
Gewijzigd op 28/08/2012 13:27:38 door Chris PHP
Line 135 = $this->errors['contactpersoon'] = 'Te lang! 120 karakters max.'); }
Gewijzigd op 28/08/2012 13:26:38 door Sebas V
Sebastian V op 28/08/2012 13:25:47:
@Chris: Als ik dat doe, dan krijg ik: Parse error: syntax error, unexpected ')' in C:\domains\projecten.nl\wwwroot\iPad\quiz.php on line 135
Welke regel is dat in mijn script, let wel ik heb hem nog geen minuut geleden gewijzigd ;) Probeer het nu nog eens met het bovenstaande.
Hierzo lag de fout: 'Te lang! 120 karakters max.'); }