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

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

Anmeldeformular: Captchas wegen Spambefall aktiviert.

(mailer: Kein die, wenn Recaptcha-Key nicht bekannt ist)

File size: 6.7 KB
RevLine 
[398]1<?php
[411]2        $seiten_id = 'anmeldung';
[398]3        $version = '$Id: index.php 387 2013-05-08 09:58:11Z heribert $';
4        $titel = 'Anmeldung zu Terminen für Führungen';
[409]5        $dynamischer_inhalt = true;
6
7        require "../lib/technikum29.php";
8        require "../lib/mail/mailer.php";
[477]9
[416]10        // Captcha-Sicherung gegen Spam hier an- oder ausschalten
[477]11        $spamschutz_aktiv = true;
[416]12       
13        // Bestätigungsmail hier ein- oder ausschalten
14        $bestaetigungsmail_senden = false;
15       
[409]16        if(empty($_POST)) { // Wenn noch keine Formulardaten vorhanden sind, eigentliches Formular anzeigen
17        ?>
[398]18
19        <h2>Termine und Führungen - Anmeldung</h2>
20       
21        <p>Siehe <a href="/de/#termine">Termine auf Startseite</a> für verfügbare Termine.</p>
22       
23        <?php
24                $veranstaltung = isset($_GET['veranstaltung']) ? $_GET['veranstaltung'] : '';
25        ?>
26       
27        <div class="anmelde-maske">
[409]28            <form id="anmeldung" action="<?=$host->rewrite_link('/de/anmeldung.php'); ?>" method="POST">
[398]29                        <dl>
30                                <dt>Veranstaltung</dt>
31                                <dd><?php if($veranstaltung) {
32                                        echo $veranstaltung;
[409]33                                        echo '<input type="hidden" name="veranstaltung" name="'.$veranstaltung.'">';
[398]34                                } else { ?>
[412]35                                        <input type="text" name="veranstaltung" required>
[398]36                               
37                                <?php } /* if */ ?>
38                                </dd>
39                               
40                                <dt>Termin</dt>
41                                <!--<dd><%=termin%>
[409]42                                <input type="hidden" name="termin" value="<%=termin%>">-->
[412]43                                <dd class="termin"><input type="text" name="termin" required>
[398]44                                </dd>
45
46                                <dt>Name</dt>
[412]47                                <dd><input type="text" name="anmelder_name" required></dd>
[398]48
49                                <dt>Anzahl der Personen</dt>
[412]50                                <dd><input type="number" min="0" name="personenanzahl"></dd>
[398]51                               
52                                <dt>E-Mail-Adresse</dt>
[412]53                                <dd><input type="email" name="email_adresse" required></dd>
[398]54                               
[409]55                                <!--
[398]56                                <dt>Telefonnummer</dt>
57                                <dd><input type="tel" name="text_telefon_nummer"></dd>
[409]58                                -->
[398]59                               
60                                <dt>Ggf. Anmerkungen</dt>
[409]61                                <dd><textarea name="weitere_anmerkungen"></textarea></dd>
[398]62                               
[416]63                                <?php if($spamschutz_aktiv) { ?>
[409]64                                <dt>Captcha</dt>
65                                <dd>Bitte bestätigen Sie, dass Sie menschlich sind:
66                                <?php
[477]67                                        if($ajax) {
68                                                $pubkey = t29Mailer::recaptcha_get_publickey();
69                                                echo "<span class='t29-recaptcha' data-publickey='$pubkey'></span>";
70                                        } else
[409]71                                                echo t29Mailer::recaptcha_get_html();
[411]72                                ?>
73                                <p>Vielen Dank für Ihre Mithilfe gegen Spam.
74                                </dd>
[416]75                                <?php } /* $spamschutz_aktiv */ ?>
[409]76                               
[440]77                                <dd><input type="submit" value="Abschicken" class="submit">
78
79                                <!-- Heribert will das Abbrechen-Button nicht -->
80                                <!-- ist aber noch mit jquery-Funktion besehen -->
81                                <!--<input type="reset" value="Abbrechen">-->
82                                </dd>
[398]83                        </dl>
84            </form>
[400]85           </div>
[409]86<?php
87        } // ende der Ausgaben, wenn keine Formulardaten vorhanden sind
88        else {
89                // Formular auswerten, d.h. Formmailer verwenden
90               
91                $mailer = new t29Mailer($_POST);
92               
93                // fill up form data
[429]94                $mailer->to = "team"; // team@t29 geht an Mailingliste (und damit Heribert, Sven)
[409]95                $mailer->subject = "Webanmeldung für Führung \"{veranstaltung}\"";
[439]96                $from = 'dev'; // Spamschutz (webSVN)
[409]97                $mailer->header = array(
[439]98                        'From' =>"'technikum29 Computer Museum Anmeldesystem <$from@technikum29.de>",
[409]99                );
[429]100               
101                $mailer_ack_text = $bestaetigungsmail_senden ? 'Die Person hat eine Bestätigungsmail ihrer Daten erhalten.'
102                        : 'Die Person hat auf deinen Wunsch noch *keine* Bestätigungsmail erhalten.';
[409]103                $mailer->body = <<<MAIL_BODY
104Hallo,
105
106auf der Anmeldungsseite der Homepage www.technikum29.de ging eine neue Anmeldung ein:
107
108Veranstaltung: {veranstaltung}
109Termin: {termin}
110(Vgl. Termine auf Startseite: http://www.technikum29.de/de/#termine
111
112Name: {anmelder_name}
113Anzahl der Personen: {personenanzahl}
114E-Mail-Adresse: {email_adresse}
115
116Ggf. weitere Anmerkungen, die angegeben wurden:
117{weitere_anmerkungen}
118
[429]119$mailer_ack_text
[409]120
121Viele Grüße,
122deine Website
123
124PS: Wenn im Rahmen dieser Mail auch Spam ankommt, wird das System missbraucht. Dann bitte
125bescheid sagen.
126
127MAIL_BODY;
128
[416]129                // Captcha-Check aktivieren
130                $mailer->enable_captcha_check = $spamschutz_aktiv;
131
[409]132                // Bestätigungsmail aufsetzen
[416]133                $mailer->ack = $bestaetigungsmail_senden;
[409]134                $mailer->ack_to = '{email_adresse}';
135                $mailer->ack_subject = "Bestätigung ihrer Webanmeldung zur technikum29-Führung \"{veranstaltung}\"";
136                $mailer->ack_body = <<<ACK_MAIL_BODY
137Hallo {anmelder_name},
138
139vielen Dank für Ihre Web-Anmeldung zu einer Führung im technikum29 Computer Museum (http://www.technikum29.de/).
140
141Sie haben sich mit {personenanzahl} zu der Führung "{veranstaltung}" am {termin} angemeldet.
142
143Diese 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 .
144
145-- Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht darauf --
146ACK_MAIL_BODY;
147
148                $mailer->output_error_page = function($mailer, $text) {
149                        ?><h2>Bei der Anmeldung traten Fehler auf</h2>
150                        <p>Sie wurden dazu aufgefordert, ihre Menschlichkeit zu beweisen. Da wir keine Massenspam-Mails
151                        erwünschen, füllen Sie bitte dieses Captcha <i>richtig</i> aus:</p>
152                       
153                        <form method="POST">
154                                <?php $mailer->print_serialized_hidden_form(); ?>
155                                <?php echo $text; ?>
156                                <input type="submit" value="Anmeldung abschicken">
157                        </form>
158                        <?php
159                };
160
161                $mailer->output_success_page = function($mailer) {
162                        ?><h2>Ihre Anmeldung wurde eingereicht</h2>
163                       
164                        <p>Vielen Dank für ihre Anmeldung zur Veranstaltung <strong><?=$mailer->veranstaltung; ?></strong> am
[416]165                        <strong><?=$mailer->termin; ?></strong>. <!--Sie erhielten eine Bestätigungsmail an ihre Mail-Adresse
[409]166                        <em><?=$mailer->email_adresse; ?></em>. Bei Fragen wenden Sie sich bitte an die Museumsführung, siehe
[416]167                        Kontaktdaten im <a href="/de/impressum">Impressum</a>.-->
[409]168                       
[416]169                        Innerhalb von zwei Tagen erhalten Sie eine persönliche Bestätigungsmail. Sollte die Antwort ausbleiben,
170                        können Sie den Kontakt jederzeit über die Kontaktdaten aus dem <a href="/de/impressum">Impressum</a>
171                        herstellen.
172                        </p>
173                       
[409]174                        <p><a class="go" href="/de/">Zurück zur Startseite</a></p>
175                       
176                        <?php
177                };
178               
179                // checken ob alle Pflichtfelder vorhanden sind
180                $pflicht = array('veranstaltung', 'termin', 'anmelder_name', 'email_adresse');
181                foreach($pflicht as $feld) {
182                        if(isset($mailer->_values[$feld]) && !empty($mailer->_values[$feld])) continue;
183                       
184                        // Richtig hässliche Fehlerseite anzeigen
185                        ?><h2>Bitte füllen Sie das Anmeldeformular vollständig aus</h2>
186                        <p>Die Angabe von Name, Termin, Veranstaltung und E-Mail-Adresse ist zwingend erforderlich.
187                        <a class="go" href="javascript:history.go();">Zurückgehen und korrigieren</a> oder
188                        <a href="/de/anmeldung.php">Neu ausfüllen</a>.
189                        <?php
190                        return; // end of script
191                }       
192               
193                // mailer starten
194                if(!$mailer->run()) {
195                        ?><div style="opacity:0.5"><hr>
196                        <p><small>Es wurde ein Fehler beim Anmelden festgestellt</small></p><?php
197                }
[439]198        }
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