Ingevuld Formulier ook verzenden via smtp
http://bert.sna-webo.be/scripts/sr_inschrijving.php heb ik een formulier waar de scheidsrechter kan inschrijven.
Ik wil echter dat als m'n op toevoegen klikt de inhoud van het formulier ook wordt verstuurd naar het e-mailadres dat de scheidsrechter zelf heeft opgegeven en ook naar een ander standaard e-mail adres.
Kan iemand me hiermee helpen?
Op Ik wil echter dat als m'n op toevoegen klikt de inhoud van het formulier ook wordt verstuurd naar het e-mailadres dat de scheidsrechter zelf heeft opgegeven en ook naar een ander standaard e-mail adres.
Kan iemand me hiermee helpen?
Wat is je vraag precies? Wat lukt je niet?
Ik heb geen idee hoe ik de inhoud van m'n formulier + nog wat standaard text naar die e-mailadressen kan sturen. Nu slaagt het formulier alle waarden mooi op in de database maar er moet ook nog een automatische e-mail verstuurd worden als m'n op toevoegen klikt.
Gebruik om mail te versturen bij voorkeur phpmailer of swiftmailer. Met Google kun je beide eenvoudig vinden, inclusief voorbeelden.
Als je ergens op vastloopt: geef dan aub duidelijk aan waar je op vastloopt en wat je al hebt geprobeerd.
Message was not sent.Mailer error: The following From address failed: [email protected] : Called Mail() without being connected
Dit is m'n code
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
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
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail-out.telenet.be"; // SMTP server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "****";
$mail->Password = "****";
$mail->Port = 25;
$mail->From = "[email protected]";
$mail->AddAddress("[email protected]");
$mail->Subject = "First PHPMailer Message";
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail-out.telenet.be"; // SMTP server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "****";
$mail->Password = "****";
$mail->Port = 25;
$mail->From = "[email protected]";
$mail->AddAddress("[email protected]");
$mail->Subject = "First PHPMailer Message";
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>
Plaats dit er eens bij:
$mail->SMTPSecure = 'ssl';
Message was not sent.Mailer error: The following From address failed: [email protected] : Called Mail() without being connected
Laat Telenet het wel toe om buiten hun netwerk e-mail's te verzenden? neem aan dat je hosting bedrijf niet bij Telenet zit, en veel providers (zoals UPC en Ziggo in NL) staan het niet toe om mail's te verzenden buiten hun netwerk.
Daar heb ik geen idee van, nog andere manieren om dit wel in orde te krijgen?
Kijk eens of dit script werkt op je eigen webserver (dus op het telenet netwerk). Anders kun je nog 100 dingen proberen, maar als Telenet het niet toelaat om buiten hun netwerk mail's te verzenden zal het nooit gaan werken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
ini_set('SMTP','mail-out.telenet.be');
ini_set ('sendmail_from',"[email protected]");
$_to = "[email protected]";
$_onderwerp = "test mail 2";
$_bericht = "Testmailtje van uw liefste schatteke";
if (mail($_to, $_onderwerp, $_bericht))
{echo"Mail is verzonden aan $_to.";}
else
{echo"ERROR: mailtje is niet verzonden!!!";}
?>
ini_set('SMTP','mail-out.telenet.be');
ini_set ('sendmail_from',"[email protected]");
$_to = "[email protected]";
$_onderwerp = "test mail 2";
$_bericht = "Testmailtje van uw liefste schatteke";
if (mail($_to, $_onderwerp, $_bericht))
{echo"Mail is verzonden aan $_to.";}
else
{echo"ERROR: mailtje is niet verzonden!!!";}
?>
Komt toch ook van Telenet?
Maar hoe kan ik in dit implementeren?
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
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
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
session_start();
$_output = "";
// authorisation
include("../php_lib/user_ok.inc.php");
User_OK(4);
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/menu.inc.php");
try
{
// toon formulier
if (! isset($_POST["submit"])) // geen formulier
{
// titel
$_output .= "<form id='club' method='post' action='$_srv' enctype='multipart/form-data'><fieldset><legend>Inschrijvingsformulier Scheidsrechter</legend><ol><li>";
// vergunningnummer
$_output.="<label>Vergunningnummer</label><input type='text' pattern='[0-9]{6,7}' name='Vergunningnummer' size='20' placeholder='Vergunningnummer' autofocus='autofocus' required/></li><li>";
// familienaam
$_output.= "
<label>Familienaam</label><input type='text' name='Familienaam' size='40' placeholder='Familienaam' required/></li><li>";
// voornaam
$_output.= "
<label>Voornaam</label><input type='text' name='Voornaam' size='20' placeholder='Voornaam' required/></li><li>";
// geboortedatum
$_output.= "
<label>Geboortedatum</label><input type='date' name='Geboortedatum' required/></li><li>";
// veld straat
$_output.= "
<label>Straat</label><input type='text' name='Straat' size='45' placeholder='Straat' required/><input type='text' name='Nummer' size='10' placeholder='Nummer' required/><input type='text' name='Extra' size='10' placeholder='Extra'/></li>"
;
//Postcode
$_resultpostcode = $_PDO -> query("select * from t_gemeente;");
if ($_resultpostcode -> rowCount() > 0)
{
$_output.= "<li><label>Postcode:</label><select name='Postcode' selected='---Kies een club---'>";
while ($_row = $_resultpostcode -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_gemeente_id'].">" .$_row['d_gemeentenaam'] . " " . $_row['d_postnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter postcode/gemeente maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
//Telefoon
$_output.= "</li><li><label>Telefoon</label><input type='text' name='Telefoon' size='15' placeholder='Telefoon'/></li>";
//GSM
$_output.= "<li><label>GSM</label><input type='text' name='GSM' size='15' placeholder='GSM'/></li>";
//Email
$_output.= "</li><li><label>Email</label><input type='email' name='Email' size='50' placeholder='Email' required/></li>";
//Bankrekening
$_output.= "</li><li><label>Bankrekening</label><input type='text' name='Bankrekening' size='50' placeholder='BE00000000000000' required/></li>";
//Club 1
$_resultclub1 = $_PDO -> query("SELECT * FROM t_club WHERE d_club_id > 0 ORDER BY d_naam;");
//select * from t_club ORDER BY d_naam
if ($_resultclub1 -> rowCount() > 0)
{
$_output.= "<li><label>Club 1:</label><select name='Club1'>";
while ($_row = $_resultclub1 -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_club_id'].">" .$_row['d_naam'] . " " . $_row['d_stamnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter club1 maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
//Club 2
$_resultclub2 = $_PDO -> query("SELECT * FROM t_club;");
//select * from t_club ORDER BY d_naam
if ($_resultclub2 -> rowCount() > 0)
{
$_output.= "<li><label>Club 2:</label><select name='Club2'>";
while ($_row = $_resultclub2 -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_club_id'].">" .$_row['d_naam'] . " " . $_row['d_stamnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter club2 maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
$_output.= "<br><button type='submit' name='submit'>Toevoegen</button>
</fieldset>
</form>";
}
else
{
if (!isset($_POST["$_srv"])){
$_vergunningnummer = addslashes($_POST["Vergunningnummer"]);
$_naam = addslashes($_POST["Familienaam"]);
$_voornaam = addslashes($_POST["Voornaam"]);
$_geboortedatum = addslashes($_POST["Geboortedatum"]);
$_straat = addslashes($_POST["Straat"]);
$_nummer = addslashes($_POST["Nummer"]);
$_extra = addslashes($_POST["Extra"]);
$_postcode =$_POST["Postcode"];
$_telefoon = addslashes($_POST["Telefoon"]);
$_GSM = addslashes($_POST["GSM"]);
$_email = addslashes($_POST["Email"]);
$_bankrekening = addslashes($_POST["Bankrekening"]);
$_club1 = $_POST["Club1"];
$_club2 = $_POST["Club2"];
// query
{
$_resultOK1 = $_PDO -> query("INSERT INTO t_scheidsrechter(d_vergunningnummer,d_naam, d_voornaam,d_geboortedatum,d_straat,d_nummer,d_extra,t_gemeente_d_gemeente,d_telefoon,d_gsm,d_email,d_bankrekening) VALUES ('$_vergunningnummer','$_naam','$_voornaam','$_geboortedatum','$_straat','$_nummer','$_extra','$_postcode','$_telefoon','$_GSM','$_email','$_bankrekening');");
$_srid = $_PDO -> query("SELECT MAX(d_scheidsrechter_id) AS max_scheids FROM t_scheidsrechter;");
if ($_srid -> rowCount() > 0)
{
while ($_row = $_srid-> fetch(PDO:: FETCH_ASSOC))
{
$_ScheidsID = $_row['max_scheids'];
}
}
$_resultOK2 = $_PDO -> query("INSERT INTO t_sr_club(t_club_d_club_id, t_scheidsrechter_d_scheidsrechter_id) VALUES ('$_club1','$_ScheidsID');");
$_resultOK3 = $_PDO -> query("INSERT INTO t_sr_club(t_club_d_club_id, t_scheidsrechter_d_scheidsrechter_id) VALUES ('$_club2','$_ScheidsID');");
$_output = htmlentities("$_POST[Voornaam] $_POST[Familienaam] is ingeschreven als scheidsrechter voor het seizoen 2013-2014.");
}
}
}
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu(1,'H'));
$_smarty->assign('menuv',menu(4,'VA'));
$_smarty->assign('inhoud', $_output);
// display it
$_smarty->display('test.tpl');
}
catch( PDOexception $e ){
//doe iets met de foutmelding
// log("../log/logfile.csv");
// errorMessage();
echo $e->getMessage();
}
?>
error_reporting(E_ALL);
ini_set('display_errors',1);
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
session_start();
$_output = "";
// authorisation
include("../php_lib/user_ok.inc.php");
User_OK(4);
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/menu.inc.php");
try
{
// toon formulier
if (! isset($_POST["submit"])) // geen formulier
{
// titel
$_output .= "<form id='club' method='post' action='$_srv' enctype='multipart/form-data'><fieldset><legend>Inschrijvingsformulier Scheidsrechter</legend><ol><li>";
// vergunningnummer
$_output.="<label>Vergunningnummer</label><input type='text' pattern='[0-9]{6,7}' name='Vergunningnummer' size='20' placeholder='Vergunningnummer' autofocus='autofocus' required/></li><li>";
// familienaam
$_output.= "
<label>Familienaam</label><input type='text' name='Familienaam' size='40' placeholder='Familienaam' required/></li><li>";
// voornaam
$_output.= "
<label>Voornaam</label><input type='text' name='Voornaam' size='20' placeholder='Voornaam' required/></li><li>";
// geboortedatum
$_output.= "
<label>Geboortedatum</label><input type='date' name='Geboortedatum' required/></li><li>";
// veld straat
$_output.= "
<label>Straat</label><input type='text' name='Straat' size='45' placeholder='Straat' required/><input type='text' name='Nummer' size='10' placeholder='Nummer' required/><input type='text' name='Extra' size='10' placeholder='Extra'/></li>"
;
//Postcode
$_resultpostcode = $_PDO -> query("select * from t_gemeente;");
if ($_resultpostcode -> rowCount() > 0)
{
$_output.= "<li><label>Postcode:</label><select name='Postcode' selected='---Kies een club---'>";
while ($_row = $_resultpostcode -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_gemeente_id'].">" .$_row['d_gemeentenaam'] . " " . $_row['d_postnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter postcode/gemeente maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
//Telefoon
$_output.= "</li><li><label>Telefoon</label><input type='text' name='Telefoon' size='15' placeholder='Telefoon'/></li>";
//GSM
$_output.= "<li><label>GSM</label><input type='text' name='GSM' size='15' placeholder='GSM'/></li>";
$_output.= "</li><li><label>Email</label><input type='email' name='Email' size='50' placeholder='Email' required/></li>";
//Bankrekening
$_output.= "</li><li><label>Bankrekening</label><input type='text' name='Bankrekening' size='50' placeholder='BE00000000000000' required/></li>";
//Club 1
$_resultclub1 = $_PDO -> query("SELECT * FROM t_club WHERE d_club_id > 0 ORDER BY d_naam;");
//select * from t_club ORDER BY d_naam
if ($_resultclub1 -> rowCount() > 0)
{
$_output.= "<li><label>Club 1:</label><select name='Club1'>";
while ($_row = $_resultclub1 -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_club_id'].">" .$_row['d_naam'] . " " . $_row['d_stamnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter club1 maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
//Club 2
$_resultclub2 = $_PDO -> query("SELECT * FROM t_club;");
//select * from t_club ORDER BY d_naam
if ($_resultclub2 -> rowCount() > 0)
{
$_output.= "<li><label>Club 2:</label><select name='Club2'>";
while ($_row = $_resultclub2 -> fetch(PDO:: FETCH_ASSOC))
{
$_output.= "<option value=" . $_row['d_club_id'].">" .$_row['d_naam'] . " " . $_row['d_stamnummer'] ."</option></li>";
}
}
//Dit testveld verschijnt vlak achter club2 maar is nu onzichtbaar
$_output.= "</li><li><label>Test</label><input type='hidden' name='Test' size='0' placeholder='Test'/></li>";
$_output.= "<br><button type='submit' name='submit'>Toevoegen</button>
</fieldset>
</form>";
}
else
{
if (!isset($_POST["$_srv"])){
$_vergunningnummer = addslashes($_POST["Vergunningnummer"]);
$_naam = addslashes($_POST["Familienaam"]);
$_voornaam = addslashes($_POST["Voornaam"]);
$_geboortedatum = addslashes($_POST["Geboortedatum"]);
$_straat = addslashes($_POST["Straat"]);
$_nummer = addslashes($_POST["Nummer"]);
$_extra = addslashes($_POST["Extra"]);
$_postcode =$_POST["Postcode"];
$_telefoon = addslashes($_POST["Telefoon"]);
$_GSM = addslashes($_POST["GSM"]);
$_email = addslashes($_POST["Email"]);
$_bankrekening = addslashes($_POST["Bankrekening"]);
$_club1 = $_POST["Club1"];
$_club2 = $_POST["Club2"];
// query
{
$_resultOK1 = $_PDO -> query("INSERT INTO t_scheidsrechter(d_vergunningnummer,d_naam, d_voornaam,d_geboortedatum,d_straat,d_nummer,d_extra,t_gemeente_d_gemeente,d_telefoon,d_gsm,d_email,d_bankrekening) VALUES ('$_vergunningnummer','$_naam','$_voornaam','$_geboortedatum','$_straat','$_nummer','$_extra','$_postcode','$_telefoon','$_GSM','$_email','$_bankrekening');");
$_srid = $_PDO -> query("SELECT MAX(d_scheidsrechter_id) AS max_scheids FROM t_scheidsrechter;");
if ($_srid -> rowCount() > 0)
{
while ($_row = $_srid-> fetch(PDO:: FETCH_ASSOC))
{
$_ScheidsID = $_row['max_scheids'];
}
}
$_resultOK2 = $_PDO -> query("INSERT INTO t_sr_club(t_club_d_club_id, t_scheidsrechter_d_scheidsrechter_id) VALUES ('$_club1','$_ScheidsID');");
$_resultOK3 = $_PDO -> query("INSERT INTO t_sr_club(t_club_d_club_id, t_scheidsrechter_d_scheidsrechter_id) VALUES ('$_club2','$_ScheidsID');");
$_output = htmlentities("$_POST[Voornaam] $_POST[Familienaam] is ingeschreven als scheidsrechter voor het seizoen 2013-2014.");
}
}
}
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu(1,'H'));
$_smarty->assign('menuv',menu(4,'VA'));
$_smarty->assign('inhoud', $_output);
// display it
$_smarty->display('test.tpl');
}
catch( PDOexception $e ){
//doe iets met de foutmelding
// log("../log/logfile.csv");
// errorMessage();
echo $e->getMessage();
}
?>
Dat zijn dingen die je in het andere voorbeeld beide niet hebt gedaan. Ik ben niet bekend met phpmailer, dus ik haak hier af.
Toevoeging op 14/06/2013 13:31:06:
Ik kan er al voor zorgen dat er een e-mail wordt verstuurd naar het e-mail adres dat wordt ingevuld
1 probleem echter als je naar een telenet adres verstuurd komt dit niet aan.
Hoe kan dit opgelost worden?
Bert verander je email adres(sen) liever in fake adressen in verband met spam.
Moeilijk aan te geven, maar waarschijnlijk worden de mails er door telenets spamfilter(s) uitgevist.
Gewijzigd op 15/06/2013 14:42:56 door Ger van Steenderen