source: t29-www/de/anmeldung.php @ 409

Last change on this file since 409 was 409, checked in by sven, 10 years ago

Anmeldesystem verbessert: Schreibt jetzt richtige E-Mails
und auch eine Bestätigungsmail.

File size: 5.6 KB
Line 
1<?php
2        $seiten_id = 'terminanmeldung';
3        $version = '$Id: index.php 387 2013-05-08 09:58:11Z heribert $';
4        $titel = 'Anmeldung zu Terminen für Führungen';
5        $dynamischer_inhalt = true;
6
7        require "../lib/technikum29.php";
8        require "../lib/mail/mailer.php";
9       
10        if(empty($_POST)) { // Wenn noch keine Formulardaten vorhanden sind, eigentliches Formular anzeigen
11        ?>
12
13        <h2>Termine und Führungen - Anmeldung</h2>
14       
15        <p>Siehe <a href="/de/#termine">Termine auf Startseite</a> für verfügbare Termine.</p>
16       
17        <?php
18                $veranstaltung = isset($_GET['veranstaltung']) ? $_GET['veranstaltung'] : '';
19        ?>
20       
21        <div class="anmelde-maske">
22            <form id="anmeldung" action="<?=$host->rewrite_link('/de/anmeldung.php'); ?>" method="POST">
23                        <dl>
24                                <dt>Veranstaltung</dt>
25                                <dd><?php if($veranstaltung) {
26                                        echo $veranstaltung;
27                                        echo '<input type="hidden" name="veranstaltung" name="'.$veranstaltung.'">';
28                                } else { ?>
29                                        <input type="text" name="veranstaltung">
30                               
31                                <?php } /* if */ ?>
32                                </dd>
33                               
34                                <dt>Termin</dt>
35                                <!--<dd><%=termin%>
36                                <input type="hidden" name="termin" value="<%=termin%>">-->
37                                <dd class="termin"><input type="text" name="termin">
38                                </dd>
39
40                                <dt>Name</dt>
41                                <dd><input type="text" name="anmelder_name"></dd>
42
43                                <dt>Anzahl der Personen</dt>
44                                <dd><input type="text" name="personenanzahl"></dd>
45                               
46                                <dt>E-Mail-Adresse</dt>
47                                <dd><input type="email" name="email_adresse"></dd>
48                               
49                                <!--
50                                <dt>Telefonnummer</dt>
51                                <dd><input type="tel" name="text_telefon_nummer"></dd>
52                                -->
53                               
54                                <dt>Ggf. Anmerkungen</dt>
55                                <dd><textarea name="weitere_anmerkungen"></textarea></dd>
56                               
57                                <dt>Captcha</dt>
58                                <dd>Bitte bestätigen Sie, dass Sie menschlich sind:
59                                <?php
60                                        if($ajax)
61                                                echo "<span class='t29-recaptcha' data-publickey='". t29Mailer::recaptcha_get_publickey() ."'></span>";
62                                        else
63                                                echo t29Mailer::recaptcha_get_html();
64                                ?></dd>
65                               
66                                <dd><input type="submit" value="Abschicken" class="submit"> <input type="reset" value="Abbrechen"> </dd>
67                        </dl>
68            </form>
69           </div>
70<?php
71        } // ende der Ausgaben, wenn keine Formulardaten vorhanden sind
72        else {
73                // Formular auswerten, d.h. Formmailer verwenden
74               
75                $mailer = new t29Mailer($_POST);
76               
77                // fill up form data
78                $mailer->to = "sven";
79                $mailer->subject = "Webanmeldung für Führung \"{veranstaltung}\"";
80                $mailer->header = array(
81                        'From' => 'technikum29 Computer Museum Anmeldesystem <post@technikum29.de>',
82                );
83                $mailer->body = <<<MAIL_BODY
84Hallo,
85
86auf der Anmeldungsseite der Homepage www.technikum29.de ging eine neue Anmeldung ein:
87
88Veranstaltung: {veranstaltung}
89Termin: {termin}
90(Vgl. Termine auf Startseite: http://www.technikum29.de/de/#termine
91
92Name: {anmelder_name}
93Anzahl der Personen: {personenanzahl}
94E-Mail-Adresse: {email_adresse}
95
96Ggf. weitere Anmerkungen, die angegeben wurden:
97{weitere_anmerkungen}
98
99Die Person hat eine Bestätigungsmail ihrer Daten erhalten.
100
101Viele Grüße,
102deine Website
103
104PS: Wenn im Rahmen dieser Mail auch Spam ankommt, wird das System missbraucht. Dann bitte
105bescheid sagen.
106
107MAIL_BODY;
108
109                // Bestätigungsmail aufsetzen
110                $mailer->ack = true;
111                $mailer->ack_to = '{email_adresse}';
112                $mailer->ack_subject = "Bestätigung ihrer Webanmeldung zur technikum29-Führung \"{veranstaltung}\"";
113                $mailer->ack_body = <<<ACK_MAIL_BODY
114Hallo {anmelder_name},
115
116vielen Dank für Ihre Web-Anmeldung zu einer Führung im technikum29 Computer Museum (http://www.technikum29.de/).
117
118Sie haben sich mit {personenanzahl} zu der Führung "{veranstaltung}" am {termin} angemeldet.
119
120Diese Mail bestätigt den Eingang ihrer Anmeldung. Bitte setzen Sie sich bei weiteren Fragen mit der Museumsführung in Kontakt, schreiben Sie dazu eien Mail an post@technikum29.de, siehe auch Kontaktdaten auf http://www.technikum29.de/de/impressum .
121
122-- Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht darauf --
123ACK_MAIL_BODY;
124
125                $mailer->output_error_page = function($mailer, $text) {
126                        ?><h2>Bei der Anmeldung traten Fehler auf</h2>
127                        <p>Sie wurden dazu aufgefordert, ihre Menschlichkeit zu beweisen. Da wir keine Massenspam-Mails
128                        erwünschen, füllen Sie bitte dieses Captcha <i>richtig</i> aus:</p>
129                       
130                        <form method="POST">
131                                <?php $mailer->print_serialized_hidden_form(); ?>
132                                <?php echo $text; ?>
133                                <input type="submit" value="Anmeldung abschicken">
134                        </form>
135                        <?php
136                };
137
138                $mailer->output_success_page = function($mailer) {
139                        ?><h2>Ihre Anmeldung wurde eingereicht</h2>
140                       
141                        <p>Vielen Dank für ihre Anmeldung zur Veranstaltung <strong><?=$mailer->veranstaltung; ?></strong> am
142                        <strong><?=$mailer->termin; ?></strong>. Sie erhielten eine Bestätigungsmail an ihre Mail-Adresse
143                        <em><?=$mailer->email_adresse; ?></em>. Bei Fragen wenden Sie sich bitte an die Museumsführung, siehe
144                        Kontaktdaten im <a href="/de/impressum">Impressum</a>.</p>
145                       
146                        <p><a class="go" href="/de/">Zurück zur Startseite</a></p>
147                       
148                        <?php
149                };
150               
151                // checken ob alle Pflichtfelder vorhanden sind
152                $pflicht = array('veranstaltung', 'termin', 'anmelder_name', 'email_adresse');
153                foreach($pflicht as $feld) {
154                        if(isset($mailer->_values[$feld]) && !empty($mailer->_values[$feld])) continue;
155                       
156                        // Richtig hässliche Fehlerseite anzeigen
157                        ?><h2>Bitte füllen Sie das Anmeldeformular vollständig aus</h2>
158                        <p>Die Angabe von Name, Termin, Veranstaltung und E-Mail-Adresse ist zwingend erforderlich.
159                        <a class="go" href="javascript:history.go();">Zurückgehen und korrigieren</a> oder
160                        <a href="/de/anmeldung.php">Neu ausfüllen</a>.
161                        <?php
162                        return; // end of script
163                }       
164               
165                // mailer starten
166                if(!$mailer->run()) {
167                        ?><div style="opacity:0.5"><hr>
168                        <p><small>Es wurde ein Fehler beim Anmelden festgestellt</small></p><?php
169                }
170        }
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License