Action in formulier
Dat had ik snel voor elkaar. Het werkt in ieder geval! Wat nu de beste is vind ik niet de discusie, daarvoor heb ik er te weinig verstand van.
Nu ben ik wat verder en heb een pagina gemaakt om mededelingen toe te voegen op een website. De mededeling moet worden opgeslagen in de database en er moet een bericht worden verstuurd aan de leden. Voorheen deed ik dat met de mail functie. Omdat het verstandiger is om de phpmailer te gebruiken heb ik die mail functie weggehaald. phpmailer wil echter in de action "phpmailer-fe.php" hebben. Maar voor het script is dit nodig: echo $_SERVER['PHP_SELF'];. Een dubbele action plaatsen zal niet werken neem ik aan. Hoe kan ik er toch voor zorgen dat dit toch gaat werken?
Onderstaand het script met de mailfunctie:
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
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
<?php
if(!isset($_REQUEST['verzenden'])){
?>
<fieldset><legend>Mededeling toevoegen</legend>
<form id="form" name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="505" border="0">
<tr>
<td width="175">Geplaatst door:</td>
<td width="330"><input type="text" name="Naam" id="Naam" /></td>
</tr>
<tr>
<td width="175">Onderwerp:</td>
<td width="330"><input type="text" name="Onderwerp" id="Onderwerp" /></td>
</tr>
<tr>
<td width="175">Mededeling:</td>
<td width="330"><textarea name="Mededeling" id="Mededeling" cols="40" rows="6"></textarea></td>
</tr>
<tr>
<td width="175"><input name="verzenden" type="submit" class="bigbutton" id="verzenden" value="Mededeling toevoegen" /></td>
<td width="330"> <input name="Annuleren" type="reset" class="button" id="Annuleren" value="Reset" /></td>
</tr>
</table>
</form></fieldset>
<?php
}else{ // hier komt de verwerking van het formulier.
$datum_vandaag = date('Y-m-d');
$geplaatst_door = $_REQUEST['Naam'];
$onderwerp = $_REQUEST['Onderwerp'];
$mededeling = $_REQUEST['Mededeling'];
ini_set("sendmail_from","info@*******.nl");
$mail_van = 'Mij';
$bericht = "
Beste Leden,
$geplaatst_door heeft een bericht geplaatst op de website met als onderwerp: \"$onderwerp\". Ga naar de ledeninlog om het bericht te lezen.
http://www.*********.nl/login.php
";
$sql = "SELECT Lid_Mail
FROM leden
WHERE Status_ID='1'";
$resultaat = mysql_query($sql);
while($rij = mysql_fetch_assoc($resultaat)){
$mail_aan = $rij['Lid_Mail'];
if
(mail("$mail_aan","$onderwerp","$bericht","From: info@*******.nl"))
{ echo ' ';
}
else{
echo 'Uw e-mail is niet correct verstuurd' . '<br />';
}
}
$sql = "INSERT INTO mededeling (Mededeling_ID, Mededeling_Datum, Mededeling_Naam, Mededeling_Onderwerp, Mededeling_Bericht) VALUE ('', '$datum_vandaag', '$geplaatst_door', '$onderwerp', '$mededeling')";
if(!mysql_query($sql)){
echo '<p class="red">De mededeling werd niet geplaatst.</p>';
}else{
echo '<p>De mededeling werd correct toegevoegd en een bericht werd verzonden aan de (actieve) leden.</p> <br />';
echo '<a href="mededeling_toevoegen.php" class="normal">Nog meer berichten toevoegen</a>';
}
mysql_close($db);
}
?>
if(!isset($_REQUEST['verzenden'])){
?>
<fieldset><legend>Mededeling toevoegen</legend>
<form id="form" name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="505" border="0">
<tr>
<td width="175">Geplaatst door:</td>
<td width="330"><input type="text" name="Naam" id="Naam" /></td>
</tr>
<tr>
<td width="175">Onderwerp:</td>
<td width="330"><input type="text" name="Onderwerp" id="Onderwerp" /></td>
</tr>
<tr>
<td width="175">Mededeling:</td>
<td width="330"><textarea name="Mededeling" id="Mededeling" cols="40" rows="6"></textarea></td>
</tr>
<tr>
<td width="175"><input name="verzenden" type="submit" class="bigbutton" id="verzenden" value="Mededeling toevoegen" /></td>
<td width="330"> <input name="Annuleren" type="reset" class="button" id="Annuleren" value="Reset" /></td>
</tr>
</table>
</form></fieldset>
<?php
}else{ // hier komt de verwerking van het formulier.
$datum_vandaag = date('Y-m-d');
$geplaatst_door = $_REQUEST['Naam'];
$onderwerp = $_REQUEST['Onderwerp'];
$mededeling = $_REQUEST['Mededeling'];
ini_set("sendmail_from","info@*******.nl");
$mail_van = 'Mij';
$bericht = "
Beste Leden,
$geplaatst_door heeft een bericht geplaatst op de website met als onderwerp: \"$onderwerp\". Ga naar de ledeninlog om het bericht te lezen.
http://www.*********.nl/login.php
";
$sql = "SELECT Lid_Mail
FROM leden
WHERE Status_ID='1'";
$resultaat = mysql_query($sql);
while($rij = mysql_fetch_assoc($resultaat)){
$mail_aan = $rij['Lid_Mail'];
if
(mail("$mail_aan","$onderwerp","$bericht","From: info@*******.nl"))
{ echo ' ';
}
else{
echo 'Uw e-mail is niet correct verstuurd' . '<br />';
}
}
$sql = "INSERT INTO mededeling (Mededeling_ID, Mededeling_Datum, Mededeling_Naam, Mededeling_Onderwerp, Mededeling_Bericht) VALUE ('', '$datum_vandaag', '$geplaatst_door', '$onderwerp', '$mededeling')";
if(!mysql_query($sql)){
echo '<p class="red">De mededeling werd niet geplaatst.</p>';
}else{
echo '<p>De mededeling werd correct toegevoegd en een bericht werd verzonden aan de (actieve) leden.</p> <br />';
echo '<a href="mededeling_toevoegen.php" class="normal">Nog meer berichten toevoegen</a>';
}
mysql_close($db);
}
?>
Er zijn nog geen reacties op dit bericht.