versturen mail aan de hand van checkboxes
ik wil graag een mogelijkheid hebben op mijn site om een email te kunnen sturen naar gebruikers aan de hand van checkboxes. oftewel ik selecteer een aantal gebruikers DMV een checkbox, en ik wil het graag zo hebbend dat als ik o verstuur drukt, dat er een email naar die gebruikers gaan die aangevinkt staan.
dit stukje code laat alle gebruikers zien
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
foreach ( self::find_by_sql($query) as $user)
{
echo "<tr>
<form method='POST' action='index.php?content=cadeau&action=verstuur_mail'>
<td>".$user->voornaam." ".$user->tussenvoegsel." ".$user->achternaam."</td>
<td><input type='checkbox' name='checked' value='".$user->emailadres."'></td>
</tr>";
}
echo "</table><br /><br />";
echo "<td><input type='submit' name='verstuur_mail' value=' verstuur ' /><br /><br /><br /></td>";
echo "</form>";
?>
foreach ( self::find_by_sql($query) as $user)
{
echo "<tr>
<form method='POST' action='index.php?content=cadeau&action=verstuur_mail'>
<td>".$user->voornaam." ".$user->tussenvoegsel." ".$user->achternaam."</td>
<td><input type='checkbox' name='checked' value='".$user->emailadres."'></td>
</tr>";
}
echo "</table><br /><br />";
echo "<td><input type='submit' name='verstuur_mail' value=' verstuur ' /><br /><br /><br /></td>";
echo "</form>";
?>
ik heb verder geen flauw idee hoe ik het voor elkaar kan krijgen om de informatie van de gebruikers die aangevinkt zijn te versturen naar een mailfunctie.
als iemand zou kunnen helpen zou dat fijn zijn
alvast bedankt
Gewijzigd op 27/03/2012 15:07:55 door Henk de Vries
en je gebruikers komen uit een database?
ja dat klopt Er staat boven een query enz hij laat alle gebruikers enzovoorts zien. het gaat puur om het versturen van die informatie als de box is gechecked
Waarom maak je voor elke gebruiker een nieuw formulier?
Gewijzigd op 27/03/2012 15:20:13 door Henk de Vries
zoja, hier een voorbeeld zoals ik het op een lokale machine zou doen
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
<?php
mysql_connect('localhost','root','');
mysql_select_db('klanten');
$query = mysql_query("SELECT id,naam FROM klanten");
while ($row = mysql_fetch_row($query))
{
echo $row[1]."<input type='checkbox' name='".$row[0]."'><br>";
}
// dit is in ieder geval even hoe je checkboxen voor elke gebruiker maakt...
?>
mysql_connect('localhost','root','');
mysql_select_db('klanten');
$query = mysql_query("SELECT id,naam FROM klanten");
while ($row = mysql_fetch_row($query))
{
echo $row[1]."<input type='checkbox' name='".$row[0]."'><br>";
}
// dit is in ieder geval even hoe je checkboxen voor elke gebruiker maakt...
?>
In de foreach() staat echo "<tr><form method='POST' ........
Toevoeging op 27/03/2012 15:41:59:
nog iemand een idee hoe ik het voor elkaar kan krijgen krijgen?
De juiste opbouw van het formulier?
De verwerking van het formulier (achterhalen welke zijn aangevinkt)?
Het verzenden van de mail naar de betreffende personen?
Over het verwerken van checkboxen zijn op internet heel veel voorbeelden te vinden. Bijvoorbeeld http://www.html-form-guide.com/php-form/php-form-checkbox.html
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
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
<?php
/* Alle gebruikers, normaal selecteer
* je die uit de database:
*/
$users = array('1' => 'Henk de Vries', '2' => 'PHP hulp', '3' => 'Albert de Wit', '4' => '- SanThe -', '5' => 'Obelix en Idefix');
/* Even in php een nieuw formulier
* starten met echo:
*/
echo '<form method="POST">';
/* Nu gaan we de gebruikers tonen,
* 1, 2, 3 = id en => 'Naam':
*/
foreach($users as $userId => $username) {
echo '<label for="user-id">'.$username.'</label><input type="checkbox" name="user-id-array[]" value="'.$userId.'" /><br />';
}
/* Het formulier natuurlijk beeïndigen
* met een submit knop:
*/
echo '<input type="submit" name="selected-users" value="Geselecteerde gebruikers bekijken." /></form>';
/* Wanneer er op submit werd gedrukt
* in het formulier [zie <input type="submit"> />]:
*/
if(($_SERVER['REQUEST_METHOD'] == 'POST') && (isset($_POST['selected-users']))) {
/* Wanneer de array user-id-array bestaat: */
if(isset($_POST['user-id-array'])) {
/* Gewoon een string: */
echo 'Geselecteerde gebruikers: ';
/* Var om te kijken waar we gebleven zijn: */
$i = 0;
/* Tonen welke gebruikers er allemaal
* geselecteerd zijn:
*/
foreach($_POST['user-id-array'] as $userId) {
/* Quick and dirty echo :-): */
if($i != count($_POST['user-id-array']) - 1) {
echo $users[$userId].' & ';
}
else {
echo $users[$userId].'.';
}
/* $i updaten: */
$i++;
}
}
/* Wanneer de user id's niet meegegeven zijn: */
else {
echo 'Gelieve een checkbox aan te vinken.';
}
}
?>
/* Alle gebruikers, normaal selecteer
* je die uit de database:
*/
$users = array('1' => 'Henk de Vries', '2' => 'PHP hulp', '3' => 'Albert de Wit', '4' => '- SanThe -', '5' => 'Obelix en Idefix');
/* Even in php een nieuw formulier
* starten met echo:
*/
echo '<form method="POST">';
/* Nu gaan we de gebruikers tonen,
* 1, 2, 3 = id en => 'Naam':
*/
foreach($users as $userId => $username) {
echo '<label for="user-id">'.$username.'</label><input type="checkbox" name="user-id-array[]" value="'.$userId.'" /><br />';
}
/* Het formulier natuurlijk beeïndigen
* met een submit knop:
*/
echo '<input type="submit" name="selected-users" value="Geselecteerde gebruikers bekijken." /></form>';
/* Wanneer er op submit werd gedrukt
* in het formulier [zie <input type="submit"> />]:
*/
if(($_SERVER['REQUEST_METHOD'] == 'POST') && (isset($_POST['selected-users']))) {
/* Wanneer de array user-id-array bestaat: */
if(isset($_POST['user-id-array'])) {
/* Gewoon een string: */
echo 'Geselecteerde gebruikers: ';
/* Var om te kijken waar we gebleven zijn: */
$i = 0;
/* Tonen welke gebruikers er allemaal
* geselecteerd zijn:
*/
foreach($_POST['user-id-array'] as $userId) {
/* Quick and dirty echo :-): */
if($i != count($_POST['user-id-array']) - 1) {
echo $users[$userId].' & ';
}
else {
echo $users[$userId].'.';
}
/* $i updaten: */
$i++;
}
}
/* Wanneer de user id's niet meegegeven zijn: */
else {
echo 'Gelieve een checkbox aan te vinken.';
}
}
?>