versturen mail aan de hand van checkboxes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk de Vries

Henk de Vries

27/03/2012 15:07:16
Quote Anchor link
hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>";
?>


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
 
PHP hulp

PHP hulp

23/11/2024 05:41:37
 
Albert de Wit

Albert de Wit

27/03/2012 15:08:32
Quote Anchor link
en je gebruikers komen uit een database?
 
Henk de Vries

Henk de Vries

27/03/2012 15:15:08
Quote Anchor link
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
 
- SanThe -

- SanThe -

27/03/2012 15:18:14
Quote Anchor link
Waarom maak je voor elke gebruiker een nieuw formulier?
 
Henk de Vries

Henk de Vries

27/03/2012 15:19:28
Quote Anchor link
ik maak geen nieuw formulier. de foreach haalt alleen alle gegevens uit de database die geselecteerd zijn DMV de query en maakt een rij aan zegmaar.
Gewijzigd op 27/03/2012 15:20:13 door Henk de Vries
 
Albert de Wit

Albert de Wit

27/03/2012 15:24:53
Quote Anchor link
hebben de klanten toevallig ook id's?

zoja, hier een voorbeeld zoals ik het op een lokale machine zou doen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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...


?>
 
- SanThe -

- SanThe -

27/03/2012 15:24:58
Quote Anchor link
In de foreach() staat echo "<tr><form method='POST' ........
 
Henk de Vries

Henk de Vries

27/03/2012 15:26:33
Quote Anchor link
ow sorry die hoort er natuurlijk boven te staan XD foutje van mij

Toevoeging op 27/03/2012 15:41:59:

nog iemand een idee hoe ik het voor elkaar kan krijgen krijgen?
 
Obelix Idefix

Obelix Idefix

27/03/2012 16:45:42
Quote Anchor link
Waar loop je op vast?
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
 

27/03/2012 17:37:44
Quote Anchor link
Dit is het gemakkelijkst om het zo te doen, het is wel niet met de database opzet etc, maar zo zie je hoe het werkt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.';
        }
        
    }

    
?>
Best ook wel nog checken wanneer je dit met een database doet of het wel numeriek is en altijd je string veilig maken hé :-).
Gewijzigd op 27/03/2012 18:04:16 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.