Contact formulier
Ik probeer een contactformulier een e-mail check te laten doen, maar ik krijg hem niet controllerend wie kan helpen?
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
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
<?php
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
return $valid;
}
$emailadres = '[verwijderd]';
$onderwerp = 'trickspics.nl - Contactforumulier';
$afzendernaam = 'Administrator';
$bericht_bij_verstuurd = 'Je bericht is succesvol verstuurd';
if($_POST['verstuur']){
if(empty($_POST['naam'])){
echo "Je bent vergeten je naam in te vullen";
$terug = true;
}
elseif(checkmail($_POST['mailadres'])){
echo "Je bent vergeten je mailadres in te vullen";
$terug = true;
}
elseif(empty($_POST['bericht'])){
echo "Je bent vergeten een bericht in te vullen";
$terug = true;
}
if($terug){
echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
}
else {
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$_POST['mailadres']."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";
$post_bericht = nl2br($_POST['bericht']);
$bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
<table>
<tr>
<td width=150>
<b>Naam:</b>
</td>
<td>
".$_POST['naam']."
</td>
</tr>
<tr>
<td>
<b>Mailadres:</b>
</td>
<td>
<a href='mailto:".$_POST['mailadres']."'>".$_POST['mailadres']."</a>
</td>
</tr>
<tr>
<td>
<b>Website url:</b>
</td>
<td>
<a target='_blank' href='".$_POST['website']."'>".$_POST['website']."</a>
</td>
</tr>
<tr>
<td>
<b>Betreft:</b>
</td>
<td>
".$_POST['betreft']."
</td>
</tr>
<tr>
<td valign=top>
<b>Bericht:</b>
</td>
<td>
".$post_bericht."
</td>
</tr>
</table>";
$stuur = @mail($emailadres,$onderwerp,$bericht,$header);
if($stuur){
echo $bericht_bij_verstuurd;
}
else {
echo "Je bericht kon niet worden verzonden";
}
}
}
else {
?>
<p> U kunt ons bereiken door dit formulier in te vullen</p>
<form method="post" action="">
<table style="margin-left:10px;">
<td width="150">
Naam:
</td>
<td>
<input type="text" name="naam" size="30" />
</td>
</tr>
<tr>
<td>
Je e-mailadres:
</td>
<td>
<input type="text" name="mailadres" size="30" />
</td>
</tr>
<tr>
<td>
Je website url:
</td>
<td>
<input type="text" name="website" size="30" value="http://" />
</td>
</tr>
<tr>
<td>
Betreft:
</td>
<td>
<select name="betreft">
<option value="onderwerp">Onderwerp</option>
<option value="Vraag">Vraag</option>
<option value="Opmerking">Opmerking</option>
<option value="Idee">Idee</option></select>
</td>
</tr>
<tr>
<td valign="top">
Je bericht:
</td>
<td>
<textarea name="bericht" rows="8" cols="40"></textarea>
</td>
</tr>
<tr>
<td><input name="reset" type="reset" value="Herstel" /> </td>
<td><input type="submit" value="Verstuur" name="verstuur" />
</td>
</tr>
</table>
</form>
<?php
}
?>
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
return $valid;
}
$emailadres = '[verwijderd]';
$onderwerp = 'trickspics.nl - Contactforumulier';
$afzendernaam = 'Administrator';
$bericht_bij_verstuurd = 'Je bericht is succesvol verstuurd';
if($_POST['verstuur']){
if(empty($_POST['naam'])){
echo "Je bent vergeten je naam in te vullen";
$terug = true;
}
elseif(checkmail($_POST['mailadres'])){
echo "Je bent vergeten je mailadres in te vullen";
$terug = true;
}
elseif(empty($_POST['bericht'])){
echo "Je bent vergeten een bericht in te vullen";
$terug = true;
}
if($terug){
echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
}
else {
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$_POST['mailadres']."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";
$post_bericht = nl2br($_POST['bericht']);
$bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
<table>
<tr>
<td width=150>
<b>Naam:</b>
</td>
<td>
".$_POST['naam']."
</td>
</tr>
<tr>
<td>
<b>Mailadres:</b>
</td>
<td>
<a href='mailto:".$_POST['mailadres']."'>".$_POST['mailadres']."</a>
</td>
</tr>
<tr>
<td>
<b>Website url:</b>
</td>
<td>
<a target='_blank' href='".$_POST['website']."'>".$_POST['website']."</a>
</td>
</tr>
<tr>
<td>
<b>Betreft:</b>
</td>
<td>
".$_POST['betreft']."
</td>
</tr>
<tr>
<td valign=top>
<b>Bericht:</b>
</td>
<td>
".$post_bericht."
</td>
</tr>
</table>";
$stuur = @mail($emailadres,$onderwerp,$bericht,$header);
if($stuur){
echo $bericht_bij_verstuurd;
}
else {
echo "Je bericht kon niet worden verzonden";
}
}
}
else {
?>
<p> U kunt ons bereiken door dit formulier in te vullen</p>
<form method="post" action="">
<table style="margin-left:10px;">
<td width="150">
Naam:
</td>
<td>
<input type="text" name="naam" size="30" />
</td>
</tr>
<tr>
<td>
Je e-mailadres:
</td>
<td>
<input type="text" name="mailadres" size="30" />
</td>
</tr>
<tr>
<td>
Je website url:
</td>
<td>
<input type="text" name="website" size="30" value="http://" />
</td>
</tr>
<tr>
<td>
Betreft:
</td>
<td>
<select name="betreft">
<option value="onderwerp">Onderwerp</option>
<option value="Vraag">Vraag</option>
<option value="Opmerking">Opmerking</option>
<option value="Idee">Idee</option></select>
</td>
</tr>
<tr>
<td valign="top">
Je bericht:
</td>
<td>
<textarea name="bericht" rows="8" cols="40"></textarea>
</td>
</tr>
<tr>
<td><input name="reset" type="reset" value="Herstel" /> </td>
<td><input type="submit" value="Verstuur" name="verstuur" />
</td>
</tr>
</table>
</form>
<?php
}
?>
Gewijzigd op 25/03/2012 19:20:37 door Bas IJzelendoorn
Krijg je dan errors..? Wat lukt er juist niet?
Beetje vaag "krijg het niet werkend"..
Edit; eens naar de rest van het script gekeken, het ziet er maar oud en noobie uit
Gewijzigd op 31/08/2010 00:52:32 door Wouter De Schuyter
Helaas, hij verstuurd nog steeds gewoon zonder de mail te controleren
Als je niks invult het forumulier verzonden wordt wanneer je op submit klikt?
Ik heb overigens nog geen beter script kunnen vinden om dit te maken
Gewijzigd op 31/08/2010 00:59:35 door Sander A
Quote:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php function checkmail($mail)
{
if(preg_match("/^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$/", $mail))
{
return $valid;
}
return FALSE;
}?>
{
if(preg_match("/^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$/", $mail))
{
return $valid;
}
return FALSE;
}?>
Gewijzigd op 31/08/2010 01:01:37 door Elio vp
Sander Akkermans op 31/08/2010 00:57:05:
Nee dat is niet het probleem, het mailadres zou gevalideerd moeten worden op geldigheid maar dat slaat hij om een of andere reden over
Jah, ook maar een wat brakke functie als ik die daar zo zie, probeer de mijne eens.
Code (php)
Edit; blijkbaar te lang opzoek en nu was iemand anders me voor :(
Gewijzigd op 31/08/2010 01:03:49 door Wouter De Schuyter
Fatal error: Call to undefined function checkmail()
Ik heb die van jou nu paradox
Gewijzigd op 31/08/2010 01:06:53 door Sander A
Je hebt toch niet exact zijn stukje code gekopieerd he?..
Sander Akkermans op 31/08/2010 01:04:23:
Ik kom al verder, maar krijg nu nog de melding
Fatal error: Call to undefined function checkmail()
Ik heb die van jou nu paradox
Fatal error: Call to undefined function checkmail()
Ik heb die van jou nu paradox
Verander de naam van mijn functie naar checkmail
Daar wou ik dus naartoe.. :)
Als het niet zo is laat ik het weten
P.s. Sorry voor de ongemakken, maar ik heb erg moeite met php
Gewoon laten bezinken.. rustig bekijken.. elk regeltje dat je niet direct snapt opzoeken.. dan kom je der wel :) en veel lezen, vooral de problemen hie rop het forum :)
"This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged."
Code (php)
1
2
3
4
5
2
3
4
5
<?php
function checkmail($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
?>
function checkmail($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
?>
Ik dacht aan
Code (php)
maar dat heeft er geen invloed op.
Gewijzigd op 31/08/2010 08:54:06 door Sander A
Ik ben niet zo handig in php, kan ik dit er dan zo in kopieren?
dat kan maar dan moet je wel ff session aan maken want je wil toch weten of iets gelijk aan mailadres is dus moet je daar eerst naar kijken.