Aanpassing ForMail
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
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
<?php
error_reporting(E_ALL); //lelijke foutjes weergeven
?>
<STYLE>
body, table, tr, td, option, textarea, input, a, a:visited, a:hover, a:active
{
font-family: Verdana;
font-size: 9pt;
background-color: #F1F1F1;
color: #000000;
border: 1px;
}
input, textarea, option
{
border: 1px solid;
background-color: #E1E1E1;
}
.kop
{
background-color: #B9B9B9;
border: 1px;
}
.fout
{
color: FF0000;
}
</STYLE>
<?php
//start $config array
$c = array();
//naam van de website
$c['site'] = 'PokerShark';
//instellen of je een bedankt-mail terug wil zenden bedankt moet TRUE = wel, of FALSE = niet zijn
$c['bedankt'] = TRUE;
//arrays starten voor naam en emailadres
$c['naam'] = array();
$c['naar'] = array();
//alle namen met bijbehorenden emailadressen daaronder
$c['naam'][] = 'JaHo';
$c['naar'][] = '[email protected]';
//EINDE CONFIG\\
if(isset($_POST['verzenden'])) //wanneer gebruiker op verzenden heeft gedrukt
{
$fouten = array(); //array voor fouten starten
if(empty($_POST['onderwerp'])) //onderwerp checken
{
$fouten[] = 'Je moet een onderwerp invullen'; //wanneer onderwerp leeg is
}
elseif(empty($_POST['naam'])) //naam checken
{
$fouten[] = 'Je moet je naam invullen'; //wanneer naam leeg is
}
elseif($_POST['naar'] == 'ontvanger') //wanneer de ontvanger nog op "Ontvanger" staat
{
$fouten[] = 'Je moet een ontvanger selecteren'; //wanneer dat zo is
}
elseif(empty($_POST['email']) || !eregi('@',$_POST['email']) || !eregi('.',$_POST['email']) || eregi(' ',$_POST['email'])) //wanneer het adres niet geldig is
{
$fouten[] = 'Je moet een geldig emailadres invullen'; //wanneer het niet geldig is
}
elseif(empty($_POST['bericht'])) //wanneer het bericht leeg is
{
$fouten[] = 'Je moet een bericht invullen'; //fout weergeven wanneer het leeg is
}
if(count($fouten) == 0) //wanneer er 0 fouten zijn
{
$headers = 'From: '.$_POST['naam'].' < '.$_POST['email'].' >'; //headers maken
$bericht =
htmlspecialchars($_POST['bericht'], ENT_QUOTES).
'\n
--------------------------------------------------
Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
mail($_POST['naar'], $_POST['onderwerp'], $bericht, $headers); //verzenden email
if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
{
$headers2 = 'From: '.$c['site'].' < '.$_POST['naar'].' >'; //headers maken
$bericht2 =
'Je kan het boek downloaden via volgende link:
\n
--------------------------------------------------
dit is een auto-gegenereerde mail die is verzonden vanaf '.$c['site']; //bericht om terug te zenden
mail($_POST['email'], 'Bedankt', $bericht2, $headers2); //zend
echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
}
else
{
echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
}
}
else //wanneer er wel fouten zijn
{
?>
<table>
<tr>
<td class="kop">
<p align="center"><b>Fout:</b></td>
</tr>
<tr>
<td>
<?php
for($i = 0; $i < count($fouten); $i++) //for lus die fouten telt
{
echo '<div class="fout"> - '.$fouten[$i].'</div><BR />'; //fouten weergeven
}
?>
Klik <A href="javascript:history.go(-1);"> hier </a> om terug te gaan naar het formulier</A>
</td>
</tr>
</table>
<?php
}
}
else
{
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr>
<td colspan="2" class="kop">
<p align="center"><b>Contact</b></td>
</tr>
<tr>
<td width="24%">Aan:</td>
<td width="76%">
<select size="1" name="naar">
<option value="ontvanger">Ontvanger</option>
<?php
foreach($c['naar'] as $key => $value) //namen van ontvangers ophalem
{
echo '<option value="'.$value.'">'.$c['naam'][$key].'</option>'; //en ze in een dropdownbox zetten
}
?>
</select></td>
</tr>
<tr>
<td width="24%">Onderwerp:</td>
<td width="76%"><input type="text" name="onderwerp" size="38"></td>
</tr>
<tr>
<td width="24%">Je naam:</td>
<td width="76%"><input type="text" name="naam" size="38"></td>
</tr>
<tr>
<td width="24%">Je emailadres:</td>
<td width="76%"><input type="text" name="email" size="38"></td>
</tr>
<tr>
<td width="24%">Bericht:</td>
<td width="76%"><textarea rows="7" name="bericht" cols="32"></textarea></td>
</tr>
</table>
<BR />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?php
} //klaar
?>
Het is ook niet de bedoeling dat er een ontvanger wordt gekozen. de mail zou automatisch naar mijn email moeten komen.
Onderwerp en Bericht mogen ook weg, maar dat is gewoon verwijderen.
als je het script eens wil zien hoe het er nu uitziet:
http://www.pokershark.be/formail.php
dus enkel:
Naam:
Email:
Verzenden
merci JaHo
Okee, en je probleem/vraag is?
ik denk dat ik hier iets moet aanpassen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
En moet je zelf de ontvanger in vullen bij mail().
Verder is dit script niet beveiligd tegen mail-injection.
van php zelf ken ik nog niet zoveel.
Deze week nogmaar begonnen met HTML.
groetjes
Jack schreef op 13.05.2009 23:44:
je bedoelt tegen spammers?
Dat zou kunnen. Maar dan niet zomaar naar jou, maar naar iedereen alsof het van jou komt.
anyhow. als iemand php scripts schrijft tegen betaling mag je me gerust contacteren.
ik zoek zoiets zoals hierboven, maar dan klein beetje aan gepast en met bescherming tegen mail-injection
groetjes JaHo
1 mail versturen en in de browser terug gaan en weer versturen :-)
Het is nu niet meer nodig om een ontvanger te kiezen, een onderwerp in te geven en een bericht na te laten.
Ik zit wel nog met 1 probleem :s
de bedanktmail die de mensen krijgen: het email adres die daarin staat is bevoorbeeld:
van PokerShark <[email protected]>
wat heel raar is, 'mutten' is de naam die de bezoeker heeft ingegeven
en webcreating is het bedrijf waar ik mijn hosting heb :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
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
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
<?php
error_reporting(E_ALL); //lelijke foutjes weergeven
?>
<STYLE>
body, table, tr, td, option, textarea, input, a, a:visited, a:hover, a:active
{
font-family: Verdana;
font-size: 9pt;
background-color: #F1F1F1;
color: #000000;
border: 1px;
}
input, textarea, option
{
border: 1px solid;
background-color: #E1E1E1;
}
.kop
{
background-color: #B9B9B9;
border: 1px;
}
.fout
{
color: FF0000;
}
</STYLE>
<?php
//start $config array
$c = array();
$to = '[email protected]';
//naam van de website
$c['site'] = 'PokerShark';
//instellen of je een bedankt-mail terug wil zenden bedankt moet TRUE = wel, of FALSE = niet zijn
$c['bedankt'] = TRUE;
//arrays starten voor naam en emailadres
$c['naam'] = array();
$c['naar'] = array();
//alle namen met bijbehorenden emailadressen daaronder
$c['naam'][] = 'JaHo';
$c['naar'][] = '[email protected]';
//EINDE CONFIG\\
if(isset($_POST['verzenden'])) //wanneer gebruiker op verzenden heeft gedrukt
{
$fouten = array(); //array voor fouten starten
if(empty($_POST['naam'])) //naam checken
{
$fouten[] = 'Je moet je naam invullen'; //wanneer naam leeg is
}
elseif(empty($_POST['email']) || !eregi('@',$_POST['email']) || !eregi('.',$_POST['email']) || eregi(' ',$_POST['email'])) //wanneer het adres niet geldig is
{
$fouten[] = 'Je moet een geldig emailadres invullen'; //wanneer het niet geldig is
}
if(count($fouten) == 0) //wanneer er 0 fouten zijn
{
$headers = 'From: '.$_POST['naam'].' < '.$_POST['email'].' >'; //headers maken
$bericht =
htmlspecialchars($_POST['naam'], ENT_QUOTES).
'\n
--------------------------------------------------
Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
mail($to, $_POST['naam'], $bericht, $headers); //verzenden email
if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
{
$headers2 = 'From: '.$c['site'].' < '.$_POST['naam'].' >'; //headers maken
$bericht2 =
'Beste,
U hebt zonet een formulier ingevuld om mijn gratis poker boek te ontvangen.
Als je alle stappen in het boek toepast kan ik je garanderen dat je een
winnende online poker shark wordt!
Het Boek vind je op http://www.pokershark.be/test.pdf
Het is in PDF-formaat en gemakkelijk te lezen op de PC
Jack Holdem
'.$c['site']; //bericht om terug te zenden
mail($_POST['email'], 'Gratis Cash Game Boek', $bericht2, $headers2); //zend
echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
}
else
{
echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
}
}
else //wanneer er wel fouten zijn
{
?>
<table>
<tr>
<td class="kop">
<p align="center"><b>Fout:</b></td>
</tr>
<tr>
<td>
<?php
for($i = 0; $i < count($fouten); $i++) //for lus die fouten telt
{
echo '<div class="fout"> - '.$fouten[$i].'</div><BR />'; //fouten weergeven
}
?>
Klik <A href="javascript:history.go(-1);"> hier </a> om terug te gaan naar het formulier</A>
</td>
</tr>
</table>
<?php
}
}
else
{
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr>
<td colspan="2" class="kop">
<p align="center"><b>Ontvang Het Gratis Poker Boek</b></td>
</tr>
</select></td>
</tr>
<tr>
<td width="24%">Je naam:</td>
<td width="76%"><input type="text" name="naam" size="38"></td>
</tr>
<tr>
<td width="24%">Je emailadres:</td>
<td width="76%"><input type="text" name="email" size="38"></td>
</tr>
</table>
<BR />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?php
} //klaar
?>
error_reporting(E_ALL); //lelijke foutjes weergeven
?>
<STYLE>
body, table, tr, td, option, textarea, input, a, a:visited, a:hover, a:active
{
font-family: Verdana;
font-size: 9pt;
background-color: #F1F1F1;
color: #000000;
border: 1px;
}
input, textarea, option
{
border: 1px solid;
background-color: #E1E1E1;
}
.kop
{
background-color: #B9B9B9;
border: 1px;
}
.fout
{
color: FF0000;
}
</STYLE>
<?php
//start $config array
$c = array();
$to = '[email protected]';
//naam van de website
$c['site'] = 'PokerShark';
//instellen of je een bedankt-mail terug wil zenden bedankt moet TRUE = wel, of FALSE = niet zijn
$c['bedankt'] = TRUE;
//arrays starten voor naam en emailadres
$c['naam'] = array();
$c['naar'] = array();
//alle namen met bijbehorenden emailadressen daaronder
$c['naam'][] = 'JaHo';
$c['naar'][] = '[email protected]';
//EINDE CONFIG\\
if(isset($_POST['verzenden'])) //wanneer gebruiker op verzenden heeft gedrukt
{
$fouten = array(); //array voor fouten starten
if(empty($_POST['naam'])) //naam checken
{
$fouten[] = 'Je moet je naam invullen'; //wanneer naam leeg is
}
elseif(empty($_POST['email']) || !eregi('@',$_POST['email']) || !eregi('.',$_POST['email']) || eregi(' ',$_POST['email'])) //wanneer het adres niet geldig is
{
$fouten[] = 'Je moet een geldig emailadres invullen'; //wanneer het niet geldig is
}
if(count($fouten) == 0) //wanneer er 0 fouten zijn
{
$headers = 'From: '.$_POST['naam'].' < '.$_POST['email'].' >'; //headers maken
$bericht =
htmlspecialchars($_POST['naam'], ENT_QUOTES).
'\n
--------------------------------------------------
Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
mail($to, $_POST['naam'], $bericht, $headers); //verzenden email
if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
{
$headers2 = 'From: '.$c['site'].' < '.$_POST['naam'].' >'; //headers maken
$bericht2 =
'Beste,
U hebt zonet een formulier ingevuld om mijn gratis poker boek te ontvangen.
Als je alle stappen in het boek toepast kan ik je garanderen dat je een
winnende online poker shark wordt!
Het Boek vind je op http://www.pokershark.be/test.pdf
Het is in PDF-formaat en gemakkelijk te lezen op de PC
Jack Holdem
'.$c['site']; //bericht om terug te zenden
mail($_POST['email'], 'Gratis Cash Game Boek', $bericht2, $headers2); //zend
echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
}
else
{
echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
}
}
else //wanneer er wel fouten zijn
{
?>
<table>
<tr>
<td class="kop">
<p align="center"><b>Fout:</b></td>
</tr>
<tr>
<td>
<?php
for($i = 0; $i < count($fouten); $i++) //for lus die fouten telt
{
echo '<div class="fout"> - '.$fouten[$i].'</div><BR />'; //fouten weergeven
}
?>
Klik <A href="javascript:history.go(-1);"> hier </a> om terug te gaan naar het formulier</A>
</td>
</tr>
</table>
<?php
}
}
else
{
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr>
<td colspan="2" class="kop">
<p align="center"><b>Ontvang Het Gratis Poker Boek</b></td>
</tr>
</select></td>
</tr>
<tr>
<td width="24%">Je naam:</td>
<td width="76%"><input type="text" name="naam" size="38"></td>
</tr>
<tr>
<td width="24%">Je emailadres:</td>
<td width="76%"><input type="text" name="email" size="38"></td>
</tr>
</table>
<BR />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?php
} //klaar
?>
Ik weet dat het niet 100% veilig is, maar ik ga op zoek gaan hoe het mogelijk is maar 1x je emailadres in te geven.
JaHo