mailformulier in drupal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Renzo Massaro

Renzo Massaro

06/07/2010 13:05:41
Quote Anchor link
Goedemiddag,

Ik hoop dat iemand hier wat Drupal kennis heeft, maar anders in ieder geval kennis van mijn probleem.

Onderstaand mijn script waarbij de gebruiker een keuze maakt naar hoeveel bedrijven zijn/haar mail wordt gestuurd. Dan wordt er met het aantal dat gekozen is een shuffle gedaan in de mail en worden die mailadressen gebruikt om een mail door te sturen. Dit gaat allemaal goed.

Dan wordt ern een formulier opgesteld en de verzonden mail wordt opgeslagen in een database, tot zover ook alles goed.

Nu heb ik een hidden field waar de emailadressen in opgeslagen moeten worden, deze slaat alleen maar 1 mailadres op en niet het gekozen aantal hoewel wel alle mails doorgestuurd worden naar het aantal mailadressen.

Het stukje wat de gekozen mailadressen toevoegt in de database is dit stukje..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$email_naar
= $to;
$form_values['submitted'][16] = $email_naar;
$form_values['submitted_tree'][16] = $email_naar;

?>


Verder hieronder de rest van het script



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
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
<?php
#| Parameters.
    
$params['naam'] = $form_values['submitted_tree']['naam'];
$params['postcode'] = $form_values['submitted_tree']['postcode'];
$params['titel'] = $form_values['submitted_tree']['titel'];
$params['e_mail'] = $form_values['submitted_tree']['e_mail'];
$params['telefoonnummer'] = $form_values['submitted_tree']['telefoonnummer'];
$params['gsm'] = $form_values['submitted_tree']['gsm'];
$params['adres'] = $form_values['submitted_tree']['adres'];
$params['woonplaats'] = $form_values['submitted_tree']['woonplaats'];
$params['omschrijving'] = $form_values['submitted_tree']['omschrijving'];


    #| Het aantal te verzenden E-mails.
    
        $aantal = $form_values['submitted_tree']['aantal2'];

    #| Settings | Het E-mail adres waarvan de E-mail berichten worden verstuurd.
    
        $from = "[email protected]";
  
   #| Settings | Het E-mail adres om onbekende postcodes naar te sturen..
    
        $onbekend = "[email protected]";

   #| Bericht weergeven.
    
        drupal_set_message('Formulier is verzonden naar de aanbieders');

    $mynumber=$form_values['submitted_tree']['postcode'];
    
// Postcode 1000 - 1119 Amsterdam - mail adressen
    
        $email=array();
        $email[]="[email protected]";
        $email[]="[email protected]";
        $email[]="[email protected]";
        $email[]="[email protected]";
        shuffle($email);

//1120-1159 Volendam

        $email2=array();
        $email2[]="[email protected]";
        $email2[]="[email protected]";
        $email2[]="[email protected]";
        $email2[]="[email protected]";
        shuffle($email2);









    $confirmation = $form_values['submitted_tree']['e_mail'];

    #| De lijst met gekozen E-mail adressen aflopen.

    // Amsterdam


        if( ($mynumber>999)  &&  ($mynumber<1120) ){
  for($i = 0; $i < $aantal; $i++) {
       $to = $email[$i];

  drupal_mail('formulier', 'formulier_mail', $to, '', $params, $from);

  }

  drupal_mail('bevestiging', 'bevestiging_mail', $confirmation, '', $params, $from);  

  // Volendam
  } elseif ( ($mynumber>1119)  &&  ($mynumber<1160) ){
  for($i = 0; $i < $aantal; $i++) {
  $to = $email2[$i];
  drupal_mail('formulier', 'formulier_mail', $to, '', $params, $from);
  }

  drupal_mail('bevestiging', 'bevestiging_mail', $confirmation, '', $params, $from);

  // Leiden
  } elseif ( ($mynumber>2300)  &&  ($mynumber<2399) ){
  for($i = 0; $i < $aantal; $i++) {
  $to = $email35[$i];
  drupal_mail('formulier', 'formulier_mail', $to, '', $params, $from);
  
// Bij geen bekend adres of nog niet ingevoerd adres
}
drupal_mail('bevestiging', 'bevestiging_mail', $confirmation, '', $params, $from);

}
else {
  drupal_mail('onbekend', 'onbekend_mail', $onbekend, '', $params, $from);
  }




//Then we have a hidden field with a component ID of 8 and we set it's value like this
$email_naar = $to;
$form_values['submitted'][16] = $email_naar;
$form_values['submitted_tree'][16] = $email_naar;
$params['16'] = $form_values['submitted_tree']['16'];  



    #| Functie voor het samenstellen van een E-mail bericht.
    
        function formulier_mail($key, &$message, $params){
            $message['subject'] = "Aanvraag offerte via Offe";
            $message['body'] = "
            Via onze website is de volgende offerte aanvraag binnengekomen.
            
            "
.$params['omschrijving']."
            "
.$params['titel']."
            "
.$params['naam']."
            "
.$params['e_mail']."
            "
.$params['telefoonnummer']."
            "
.$params['gsm']."
            "
.$params['adres']."
            "
.$params['postcode']."
            "
.$params['woonplaats']."
             "
.$params['16']."
            
            Vriendelijke groet,
            Offn
            "
;
            
        }


// Als de postcode niet bestaat, wordt deze functie aangesproken
function onbekend_mail($key, &$message, $params) {
  $message['subject'] = "Aanvraag offerte via Offe - onbekende postcode!!";
  $message['body'] = "
Via de website is dit formulier verstuurd, maar de postcode staat niet in het systeem met een bekende aanbieder in de buurt.

"
.$params['omschrijving']."
"
.$params['titel']."
"
.$params['naam']."
"
.$params['e_mail']."
"
.$params['telefoonnummer']."
"
.$params['gsm']."
"
.$params['adres']."
"
.$params['postcode']."
"
.$params['woonplaats']."
"
.$params['email_naar']."


Vriendelijke groet,
Website administrator
"
;
    }


// Als de postcode niet bestaat, wordt deze functie aangesproken
function bevestiging_mail($key, &$message, $params) {
  $message['subject'] = "Bevestiging van Offe";
  $message['body'] = "
Hartelijk bedankt voor uw vertrouwen in Off. U krijgt van ons een feedback code die u kunt gebruiken om ons te laten weten hoe alles is verlopen.

Uw persoonlijke code is "
.$params['e_mail']."

Vriendelijke groet,
Offe
"
;
    }

?>
 
Er zijn nog geen reacties op dit bericht.



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.