21
Hab ich hinzugefügt. Aber nach wie vor immer wenn ich das erste Feld anhacke, dann taucht der Notice: Undefined variable: checkbox_nachricht in 96
<?php
//Fehlermeldungen ausgeben falls vorhanden
ini_set('display_errors', 1);
error_reporting(E_ALL);
//include des Kopfbereiches
include ("include/kopf.php");
//include der Navigation
include ("include/navigation.php");
//include Anfang des ganzen Inhaltes
include ("include/anfang-ganzer-inhalt.php");
?>
<?php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
//use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/PHPMailer.php';
//require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/SMTP.php';
?>
<!-- Anfang Linker Inhalt -->
<div id="linkerinhalt">
<title>Anmeldung</title>
<?php
include_once ('zugang_ppc.php.inc');
$max_jugenda = 40;
$max_jugendb = 40;
$max_dklasse = 64;
// sql-Abfrage 1 - Ermitteln Anzahl Jugend B (Turnierklasse = 1)
$query = mysqli_query($mysqli, 'SELECT Count(*) FROM anmeldungen_2019_samstag WHERE gemeldeteKlasse = \'1\'');
list($num_jugendb) = mysqli_fetch_row($query);
// sql-Abfrage 2 - Ermitteln Anzahl Jugend A (Turnierklasse = 2)
$query = mysqli_query($mysqli, 'SELECT Count(*) FROM anmeldungen_2019_samstag WHERE gemeldeteKlasse = \'2\'');
list($num_jugenda) = mysqli_fetch_row($query);
// sql-Abfrage 3 - Ermitteln Anzahl D-Klasse + Teilweise Damen B (Turnierklasse = 3)
$query = mysqli_query($mysqli, 'SELECT Count(*) FROM anmeldungen_2019_samstag WHERE gemeldeteKlasse = \'3\'');
list($num_dklasse) = mysqli_fetch_row($query);
unset($query);
?>
<?php
//begin POST form check
$show_form = false;
//entweder einfacher Check (nur namen angeben), oder erweiterter via Regularexpression ([name,regex,errormsg])
$frm_field = array(
array(
'email',
'/^[\w\-\.\+]+@([\w\-]+\.?)+$/',
'Bitte gültige E-Mail eintragen!'
) ,
'vorname',
'nachname',
array(
'geschlecht',
'/^(M|W)$/',
'Bitte Geschlecht auswählen!'
) ,
array(
'geburtsjahr',
'/^(19|20)\d\d$/',
'Bitte gültiges Geburtsjahr eintragen (z.B. 1967)!'
) ,
'ttr',
'verein',
array(
'turnierklasse',
'/^[1-5]$/',
'Bitte gültige Turnierklasse auswählen!'
) ,
array(
'email_alt',
'/(^[\w\-\.\+]+@([\w\-]+\.?)+$|^$)/',
'Optionales Feld, darf leer gelassen werden oder weitere gültige E-Mail eintragen!'
)
);
$frm_error = array();
if (isset($_POST['email']))
{
$checkbox_counter = 0; //Dieser Counter zählt die gesetzten Häkchen. 3 müssen es sein - sind es weniger wird unten die checkbox_nachricht ausgegeben
if (empty($_POST['Verarbeitung_Bestaetigung']))
{
$checkbox_nachricht = '<p><span class="rot">Du musst der Speicherung und Verarbeitung deiner Daten zustimmen.</span></p>';
}
else
{
$checkbox_counter++;
}
if (empty($_POST['Turnierinfos_Bestaetigung']))
{
$checkbox_nachricht = $checkbox_nachricht . '<p><span class="rot">Du musst uns erlauben, dir E-Mails rund um das Turnier zu senden.</span></p>';
}
else
{
$checkbox_counter++;
}
if (empty($_POST['Datenschutz_Bestaetigung']))
{
$checkbox_nachricht = $checkbox_nachricht . '<p><span class="rot">Du musst die Datenschutz-Hinweise akzeptieren.</span></p>';
}
else
{
$checkbox_counter++;
}
if ($checkbox_counter != 3)
{
$show_form = true;
}
foreach ($frm_field as $val)
{
if (!is_array($val))
{
if (empty($_POST[$val]))
{
$_POST[$val] = '';
$frm_error[$val] = ' <span class="rot">Bitte ausfüllen!</span>';
$show_form = true;
}
else $frm_error[$val] = '';
}
else
{
if (!isset($_POST[$val[0]]))
{
$_POST[$val[0]] = '';
$frm_error[$val[0]] = ' <span class="rot">Bitte ausfüllen!</span>';
$show_form = true;
}
elseif (!preg_match($val[1], $_POST[$val[0]]))
{
$frm_error[$val[0]] = ' <span class="rot">' . $val[2] . '</span>';
$show_form = true;
}
else $frm_error[$val[0]] = '';
}
}
}
else
{
foreach ($frm_field as $val)
{
if (is_array($val))
{
if (!isset($_POST[$val[0]])) $_POST[$val[0]] = '';
$frm_error[$val[0]] = '';
}
elseif (!isset($_POST[$val]))
{
$_POST[$val] = '';
$frm_error[$val] = '';
}
}
$show_form = true;
}
unset($frm_field);
//vom check oben nicht betroffen (da optional)
if (!isset($_POST['eintrag'])) $_POST['eintrag'] = '';
if (!isset($_POST['turnierklasse_ex'])) $_POST['turnierklasse_ex'] = '';
//end POST form check
if (!$show_form)
{ //sende anfrage / eintragen
$_POST['turnierklasse'] = intval($_POST['turnierklasse']);
$turnierklassestr = '';
// $altSignUp = ($num_sonntag >= $max_sonntag); //case 1&2 change it again
$altSignUp = ($num_jugendb >= $max_jugendb || $num_jugenda >= $max_jugenda || $num_dklasse >= $max_dklasse);
switch ($_POST['turnierklasse'])
{
case 1:
$turnierklasse = 'Jugend U18 B';
$turnierklassestr = 'Jugend U18 B mit QTTR von 0 bis 1150 - Turniertag 1 - Samstag 12. September 2020';
$startgeld = '10€';
$vorkasse = '9€';
$altSignUp = ($num_jugendb >= $max_jugendb);
break;
case 2:
$turnierklasse = 'Jugend U18 A';
$turnierklassestr = 'Jugend U18 A mit QTTR von 1050 bis 3000 - Turniertag 1 - Samstag 12. September 2020';
$startgeld = '10€';
$vorkasse = '9€';
$altSignUp = ($num_jugenda >= $max_jugenda);
break;
case 3:
$turnierklasse = 'Aktive D';
$turnierklassestr = 'Aktive D mit QTTR von 0 bis 1350 - Turniertag 1 - Samstag 12. September 2020';
$startgeld = '12€';
$vorkasse = '11€';
$altSignUp = ($num_dklasse >= $max_dklasse);
break;
}
if (mysqli_fetch_object(mysqli_query($mysqli, 'SELECT * FROM `anmeldungen_2019_samstag` WHERE `vorname` = \'' . mysqli_real_escape_string($mysqli, $_POST['vorname']) . '\' AND `nachname` = \'' . mysqli_real_escape_string($mysqli, $_POST['nachname']) . '\' LIMIT 1')))
{
?><p><span class="rot"><b>Die Anmeldung ist Fehlgeschlagen!<br/>Die von dir angegebene Person <?php
echo $_POST['vorname'] . ' ' . $_POST['nachname'];
?> ist bereits angemeldet.</b></span></p>
<p>Falls dem nicht so seien sollte, kontaktiere uns bitte via E-Mail!</p>
</p><?php
$show_form = false;
}
else
{ //eintragen
$mysqli_query = '
INSERT INTO `anmeldungen_2019_samstag`
(`vorname`, `nachname`, `geschlecht`, `geburtsjahr`, `ttr`, `email`, `verein`, `gemeldeteKlasse`, `anmerkung`, `timestamp`)
VALUES
(\'' . mysqli_real_escape_string($mysqli, $_POST['vorname']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['nachname']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['geschlecht']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['geburtsjahr']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['ttr']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['email']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['verein']) . '\', \'' . $_POST['turnierklasse'] . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['eintrag']) . '\', NOW())';
if (mysqli_query($mysqli, $mysqli_query))
{ //Bestätigungsemail an den Anmeldenden
$mail = new PHPMailer;
include ("mail-zugang-smtp.php.inc");
//Betreff in der E-Mail ermitteln, je nach Teilnehmeranzahl
$subject = 'Bestätigung der Anmeldung zum PPC 23';
if ($altSignUp) $subject = 'Warteliste - PPC 23';
//Zeit ermittelt an dem das Formular ausgefüllt wurde
$today_Wochentag = date('l');
$today_Datum = date('d.m.Y');
$today_Uhrzeit = date('H:i');
$t = date('w');
$wochentage = array(
'Sonntag',
'Montag',
'Dienstag',
'Mittwoch',
'Donnerstag',
'Freitag',
'Samstag'
);
$wochentag = $wochentage[$t];
//Anmeldung oder Anfrage ausgegeben, je nach Teilnehmeranzahl
$anmeldung_oder_warteliste = 'Anmeldung';
if ($altSignUp) $anmeldung_oder_warteliste = 'Anfrage';
$text = "
Hallo {$_POST['vorname']} {$_POST['nachname']},<br />
<br />
am {$wochentage[$t]} den {$today_Datum} um {$today_Uhrzeit} Uhr ist deine {$anmeldung_oder_warteliste} bei uns eingegangen.<br />
<br />
An die Turnierleitung wurden folgende Angaben übermittelt:<br />
Vorname: {$_POST['vorname']}<br />
Nachname: {$_POST['nachname']}<br />
Geschlecht: {$_POST['geschlecht']}<br />
Kontakt-E-Mail: {$_POST['email']}<br />
(Q-)TTR (11.08.2020): {$_POST['ttr']}<br />
Angemeldete Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
<br />
Verein: {$_POST['verein']}<br />
Startgebühr: {$startgeld}<br />
Vorkasse: {$vorkasse}<br />
<br />
Mit sportlichen Grüßen<br />
";
if ($altSignUp) $text = "
Hallo {$_POST['vorname']} {$_POST['nachname']},<br />
<br />
am {$wochentage[$t]} den {$today_Datum} um {$today_Uhrzeit} Uhr ist deine {$anmeldung_oder_warteliste} bei uns eingegangen. Dies ist keine Turnierbestätigung!<br />
<br />Aktuell ist die Teilnehmergrenze in deinem gemeldeten Wettbewerb überschritten und wir können deshalb deine Anfrage aktuell leider noch nicht bestätigen. Erfahrungsgemäß sagen aber kurz vor Turnierbeginn noch der eine oder andere Spieler/in ab. In einem solchen Fall würden wir dann umgehend mit dir Kontakt aufnehmen.<br />
<br />
An die Turnierleitung wurden vorab aber schon mal folgende Angaben übermittelt:<br />
Vorname: {$_POST['vorname']}<br />
Nachname: {$_POST['nachname']}<br />
Geschlecht: {$_POST['geschlecht']}<br />
Kontakt-E-Mail: {$_POST['email']}<br />
(Q-)TTR (11.08.2020): {$_POST['ttr']}<br />
Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
Verein: {$_POST['verein']}<br />
";
//UTF-8 Kodierung festlegen
$mail->CharSet = "utf-8";
//Absenderadresse der Email setzen
$mail->setFrom("");
$mail->addReplyTo("");
//Name des Abenders setzen
$mail->FromName = ("");
//Empfängeradresse setzen
$mail->AddAddress($_POST['email']);
//möglicher Empfänger einer Kopie setzen
$mail->AddCC($_POST['email_alt']);
// html
$mail->isHTML(true);
//Betreff der Email setzen
$mail->Subject = $subject;
//Text der EMail setzen
$mail->Body = $text;
//EMail senden und überprüfen ob sie versandt wurde
if (!$mail->Send())
{
//$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
echo "Es gab bei der übermittelung der Daten ein kleines Problem. Bitte wiederhole den Vorgang oder kontaktiere uns bitte via E-Mail";
echo "Fehler: " . $mail->ErrorInfo;
}
else
{
//$mail->Send() liefert TRUE zurück: Die Email ist unterwegs
echo "<br />Eine Bestätigung deiner Anmeldung/Anfrage ist soeben an dich gesendet worden.";
}
{ //Mail an die Turnierleitung
$mail = new PHPMailer;
include ("mail-zugang-smtp.php.inc");
//Betreff in der E-Mail ermitteln, je nach Teilnehmeranzahl
$subject = 'Neue Anmeldung zum PPC 23';
if ($altSignUp) $subject = 'Warteliste - Neue Anfrage';
//Zeit ermittelt an dem das Formular ausgefüllt wurde
$today_Wochentag = date('l');
$today_Datum = date('d.m.Y');
$today_Uhrzeit = date('H:i');
$t = date('w');
$wochentage = array(
'Sonntag',
'Montag',
'Dienstag',
'Mittwoch',
'Donnerstag',
'Freitag',
'Samstag'
);
$wochentag = $wochentage[$t];
//Anmeldung oder Anfrage ausgegeben, je nach Teilnehmeranzahl
$anmeldung_oder_warteliste = 'Anmeldung';
if ($altSignUp) $anmeldung_oder_warteliste = 'Anfrage';
$text = " ANMELDUNG!!!<br />
<br />
Hallo Turnierleitung,<br />
<br />
am {$wochentage[$t]} den {$today_Datum} um {$today_Uhrzeit} Uhr ist eine neue Anmeldung eingegangen.<br />
<br />
Hier die Angaben des Spielers/der Spielerin:<br />
Vorname: {$_POST['vorname']}<br />
Nachname: {$_POST['nachname']}<br />
Geschlecht: {$_POST['geschlecht']}<br />
Kontakt-E-Mail: {$_POST['email']}<br />
E-Mail 2: {$_POST['email_alt']}<br />
(Q-)TTR (11.08.2020): {$_POST['ttr']}<br />
Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
Geburtsjahr: {$_POST['geburtsjahr']}<br />
Verein: {$_POST['verein']}<br />
Anmerkung: {$_POST['eintrag']}<br />
<br />
Mit sportlichen Grüßen<br />
{$_POST['vorname']} {$_POST['nachname']}
";
if ($altSignUp) $text = " WARTELISTE!!!<br />
<br />
Hallo Turnierleitung,<br />
<br />
am {$wochentage[$t]} den {$today_Datum} um {$today_Uhrzeit} Uhr ist eine neue Anfrage eingegangen.<br />
<br />
Hier die Angaben des Spielers/der Spielerin:<br />
Vorname: {$_POST['vorname']}<br />
Nachname: {$_POST['nachname']}<br />
Geschlecht: {$_POST['geschlecht']}<br />
Kontakt-E-Mail: {$_POST['email']}<br />
E-Mail 2: {$_POST['email_alt']}<br />
(Q-)TTR (11.08.2020): {$_POST['ttr']}<br />
Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
Geburtsjahr: {$_POST['geburtsjahr']}<br />
Verein: {$_POST['verein']}<br />
Anmerkung: {$_POST['eintrag']}<br />
<br />
Mit sportlichen Grüßen<br />
{$_POST['vorname']} {$_POST['nachname']}
";
//UTF-8 Kodierung festlegen
$mail->CharSet = "utf-8";
//Absenderadresse der Email setzen
$mail->setFrom("");
// $mail->addReplyTo("leer@leer.de");
$mail->addReplyTo($_POST['email']);
//Name des Abenders setzen
$mail->FromName = ($_POST['vorname'] . ' ' . $_POST['nachname']);
// $mail->FromName = ("Turnierportal");
//Empfängeradresse setzen
$mail->AddAddress("");
// html
$mail->isHTML(true);
//Betreff der Email setzen
$mail->Subject = $subject;
//Text der EMail setzen
$mail->Body = $text;
//EMail senden und überprüfen ob sie versandt wurde
if (!$mail->Send())
{
//$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
echo "Es gab bei der übermittelung der Daten ein kleines Problem. Bitte wiederhole den Vorgang oder kontaktiere uns bitte via E-Mail";
echo "Fehler: " . $mail->ErrorInfo;
}
else
{
//$mail->Send() liefert TRUE zurück: Die Email ist unterwegs
echo "<br />Die Anmeldung/Anfrage ist an die Turnierleitung übermittelt worden.";
}
// $show_form=true;
}
}
else
{
die('<b>MySQL Error:</b><div class="rot">' . mysqli_error($mysqli) . '</div><br/>');
$show_form = true;
}
}
}
if ($show_form) //zeige Formular
{ //führt das aus, wenn die mail adresse noch ned angegeben wurde oder sonst wie das Formular nicht stimmt.
//ausgabe bzw. setzen von "turnierklasse" vereinfachen
//Formular für Zusatzangaben wie E-Mail-Adresse, Mitteilung, etc.
?>
<h1>Anmeldung: Turniertag 1, Samstag 12.09.2020</h1>
<p>Bitte alle mit einem * versehenen Felder ausfüllen.<br />
Die Teilnahme ist grundsätzlich nur in einem Wettbewerb möglich und auch nur in dem Wettbewerb, in welchem der Q-TTR passt.<br />
Die Angabe der E-Mail-Adresse ist von Nöten, da wir an diese Adresse die Bestätigungsemail verschicken.</p>
<form name="blub" method="post" action="test2-anmeldung.php">
<p><label for="vorname">Vorname*:</label>
<input name="vorname" type="text" id="vorname" size="45" maxlength="50" placeholder=" Max" class="eingabe" value="<?php
echo ($_POST['vorname'] . '"/>' . $frm_error['vorname']);
?></p>
<p><label for="nachname">Nachname*:</label>
<input name="nachname" type="text" id="nachanme" size="45" maxlength="50" placeholder=" Mustermann" class="eingabe" value="<?php
echo ($_POST['nachname'] . '"/>' . $frm_error['nachname']);
?></p>
<p>Geschlecht*:
<select name="geschlecht"><option value="1">Bitte auswählen</option><option value="M"<?php
echo (($_POST['geschlecht'] == 'M' ? ' selected="selected"' : ''));
?>>männlich</option><option value="W"<?php
echo (($_POST['geschlecht'] == 'W' ? ' selected="selected"' : ''));
?>>weiblich</option></select><?php
echo $frm_error['geschlecht'];
?> </p>
<p><label for="email">E-Mail*:</label>
<input name="email" type="text" id="email" size="45" maxlength="50" placeholder=" test@example.com" class="eingabe" value="<?php
echo ($_POST['email'] . '"/>' . $frm_error['email']);
?></p>
<p><label for="geburtsjahr">Geburtsjahr*:</label>
<input name="geburtsjahr" type="text" id="geburtsjahr" size="7" maxlength="50" placeholder=" z.B. 1967" class="eingabe" value="<?php
echo ($_POST['geburtsjahr'] . '"/>' . $frm_error['geburtsjahr']);
?></p>
<p><label for="verein">Verein:*</label>
<input name="verein" type="text" id="verein" size="45" maxlength="50" placeholder=" TTC Musterhausen" class="eingabe" value="<?php
echo ($_POST['verein'] . '"/>' . $frm_error['verein']);
?></p>
<p><label for="ttr">(Q-)TTR (11.08.2020)*:</label>
<input name="ttr" type="text" id="ttr" size="7" maxlength="50" placeholder=" z.B. 1000" class="eingabe" value="<?php
echo ($_POST['ttr'] . '"/>' . $frm_error['ttr']);
?><p/>
<p>Turnierklasse*:<br />
<select name="turnierklasse">
<option>Bitte auswählen</option>
<?php
/*Samstag*/
$sunfull_jugendb = ($num_jugendb >= $max_jugendb ? 'full' : 'gruen');
$sunfull_jugenda = ($num_jugenda >= $max_jugenda ? 'full' : 'gruen');
$sunfull_dklasse = ($num_dklasse >= $max_dklasse ? 'full' : 'gruen');
?>
<option value="1" class="<?php
echo $sunfull_jugendb;
?>"
<?php
echo ($_POST['turnierklasse'] == 1 ? ' selected="selected"' : '');
?>
>Jugend U18 B mit QTTR von 0 bis 1150 - Turniertag 1 - Samstag 12. September 2020</option>
<option value="2" class="<?php
echo $sunfull_jugenda;
?>"
<?php
echo ($_POST['turnierklasse'] == 2 ? ' selected="selected"' : '');
?>
>Jugend U18 A mit QTTR von 1050 bis 3000 - Turniertag 1 - Samstag 12. September 2020</option>
<option value="3" class="<?php
echo $sunfull_dklasse;
?>"
<?php
echo ($_POST['turnierklasse'] == 3 ? ' selected="selected"' : '');
?>
>Aktive D mit QTTR von 0 bis 1350 - Turniertag 1 - Samstag 12. September 2020</option>
</select><?php
echo $frm_error['turnierklasse'];
?>
<br />
<?php
if (in_array('full', array(
$sunfull_jugendb,
$sunfull_jugenda,
$sunfull_dklasse
)))
{
?><colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis:<br />eine oder mehrere Turnierklassen sind derzeit belegt.<br />Eine Anfrage für die gewünschte Turnierklasse ist dennoch möglich!<?php
}
?> <p/>
<p><label for="email">Anmerkung:</label><br />
<textarea name="eintrag" cols="65" rows="7" id="eintrag" class="eingabe"><?php
echo ($_POST['eintrag']);
?></textarea><p/>
<p>Falls gewünscht, kann hier eine weitere E-Mail-Adresse angegeben werden, welche dann ebenfalls eine Kopie der Anmeldung/Anfrage erhält.<br />
<label for="email_alt">E-Mail 2 (optional):</label><br />
<input name="email_alt" type="text" id="email_alt" size="45" maxlength="50" class="eingabe" value="<?php
echo ($_POST['email_alt'] . '"/>' . $frm_error['email_alt']);
?></p>
<?php
if (isset($checkbox_counter) && $checkbox_counter != 3)
{
echo $checkbox_nachricht;
}
?>
<p><input type="checkbox" name="Verarbeitung_Bestaetigung" value="1" <?=((empty($_POST['Verarbeitung_Bestaetigung'])) ? '' : ' checked') ?>>Mit der Nutzung dieses Formulars erklärst du dich mit der Speicherung und Verarbeitung deiner Daten durch diese Website einverstanden</p>
<p><input type="checkbox" name="Turnierinfos_Bestaetigung" value="1" <?=((empty($_POST['Turnierinfos_Bestaetigung'])) ? '' : ' checked') ?>>Ebenso die Erlaubnis, dir Informationen rund um das Turnier via E-Mail zukommen zu lassen</p>
<p><input type="checkbox" name="Datenschutz_Bestaetigung" value="1" <?=((empty($_POST['Datenschutz_Bestaetigung'])) ? '' : ' checked') ?>><a href="datenschutz.php" target="_blank">Datenschutz</a> gelesen und akzeptieren</p>
<p><input type="submit" value="Anmeldung abschließen"/></form></p><?php
}
?>
<div class="clear"></div>
</div>
<!-- Ende Linker Inhalt -->
<?php
//include des rechten Bereiches
include ("include/rechter-inhalt.php");
//include Ende des ganzen Inhaltes
include ("include/ende-ganzer-inhalt.php");
//include Fuss
include ("include/fuss.php");
//include Ende
include ("include/ende.php");
?>