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

Last change on this file since 412 was 412, checked in by sven, 11 years ago

Weitere Bugfixes Anmeldungs-Script.

File size: 5.7 KB
Line 
1<?php
2        $seiten_id = 'anmeldung';
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" required>
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" required>
38                                </dd>
39
40                                <dt>Name</dt>
41                                <dd><input type="text" name="anmelder_name" required></dd>
42
43                                <dt>Anzahl der Personen</dt>
44                                <dd><input type="number" min="0" name="personenanzahl"></dd>
45                               
46                                <dt>E-Mail-Adresse</dt>
47                                <dd><input type="email" name="email_adresse" required></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                                ?>
65                                <p>Vielen Dank für Ihre Mithilfe gegen Spam.
66                                </dd>
67                               
68                                <dd><input type="submit" value="Abschicken" class="submit"> <input type="reset" value="Abbrechen"> </dd>
69                        </dl>
70            </form>
71           </div>
72<?php
73        } // ende der Ausgaben, wenn keine Formulardaten vorhanden sind
74        else {
75                // Formular auswerten, d.h. Formmailer verwenden
76               
77                $mailer = new t29Mailer($_POST);
78               
79                // fill up form data
80                $mailer->to = "sven";
81                $mailer->subject = "Webanmeldung für Führung \"{veranstaltung}\"";
82                $mailer->header = array(
83                        'From' => 'technikum29 Computer Museum Anmeldesystem <post@technikum29.de>',
84                );
85                $mailer->body = <<<MAIL_BODY
86Hallo,
87
88auf der Anmeldungsseite der Homepage www.technikum29.de ging eine neue Anmeldung ein:
89
90Veranstaltung: {veranstaltung}
91Termin: {termin}
92(Vgl. Termine auf Startseite: http://www.technikum29.de/de/#termine
93
94Name: {anmelder_name}
95Anzahl der Personen: {personenanzahl}
96E-Mail-Adresse: {email_adresse}
97
98Ggf. weitere Anmerkungen, die angegeben wurden:
99{weitere_anmerkungen}
100
101Die Person hat eine Bestätigungsmail ihrer Daten erhalten.
102
103Viele Grüße,
104deine Website
105
106PS: Wenn im Rahmen dieser Mail auch Spam ankommt, wird das System missbraucht. Dann bitte
107bescheid sagen.
108
109MAIL_BODY;
110
111                // Bestätigungsmail aufsetzen
112                $mailer->ack = true;
113                $mailer->ack_to = '{email_adresse}';
114                $mailer->ack_subject = "Bestätigung ihrer Webanmeldung zur technikum29-Führung \"{veranstaltung}\"";
115                $mailer->ack_body = <<<ACK_MAIL_BODY
116Hallo {anmelder_name},
117
118vielen Dank für Ihre Web-Anmeldung zu einer Führung im technikum29 Computer Museum (http://www.technikum29.de/).
119
120Sie haben sich mit {personenanzahl} zu der Führung "{veranstaltung}" am {termin} angemeldet.
121
122Diese 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 .
123
124-- Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht darauf --
125ACK_MAIL_BODY;
126
127                $mailer->output_error_page = function($mailer, $text) {
128                        ?><h2>Bei der Anmeldung traten Fehler auf</h2>
129                        <p>Sie wurden dazu aufgefordert, ihre Menschlichkeit zu beweisen. Da wir keine Massenspam-Mails
130                        erwünschen, füllen Sie bitte dieses Captcha <i>richtig</i> aus:</p>
131                       
132                        <form method="POST">
133                                <?php $mailer->print_serialized_hidden_form(); ?>
134                                <?php echo $text; ?>
135                                <input type="submit" value="Anmeldung abschicken">
136                        </form>
137                        <?php
138                };
139
140                $mailer->output_success_page = function($mailer) {
141                        ?><h2>Ihre Anmeldung wurde eingereicht</h2>
142                       
143                        <p>Vielen Dank für ihre Anmeldung zur Veranstaltung <strong><?=$mailer->veranstaltung; ?></strong> am
144                        <strong><?=$mailer->termin; ?></strong>. Sie erhielten eine Bestätigungsmail an ihre Mail-Adresse
145                        <em><?=$mailer->email_adresse; ?></em>. Bei Fragen wenden Sie sich bitte an die Museumsführung, siehe
146                        Kontaktdaten im <a href="/de/impressum">Impressum</a>.</p>
147                       
148                        <p><a class="go" href="/de/">Zurück zur Startseite</a></p>
149                       
150                        <?php
151                };
152               
153                // checken ob alle Pflichtfelder vorhanden sind
154                $pflicht = array('veranstaltung', 'termin', 'anmelder_name', 'email_adresse');
155                foreach($pflicht as $feld) {
156                        if(isset($mailer->_values[$feld]) && !empty($mailer->_values[$feld])) continue;
157                       
158                        // Richtig hässliche Fehlerseite anzeigen
159                        ?><h2>Bitte füllen Sie das Anmeldeformular vollständig aus</h2>
160                        <p>Die Angabe von Name, Termin, Veranstaltung und E-Mail-Adresse ist zwingend erforderlich.
161                        <a class="go" href="javascript:history.go();">Zurückgehen und korrigieren</a> oder
162                        <a href="/de/anmeldung.php">Neu ausfüllen</a>.
163                        <?php
164                        return; // end of script
165                }       
166               
167                // mailer starten
168                if(!$mailer->run()) {
169                        ?><div style="opacity:0.5"><hr>
170                        <p><small>Es wurde ein Fehler beim Anmelden festgestellt</small></p><?php
171                }
172        }
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