Zur Navigation

Auswahlfeld mit Hinweis

1 tobi

Hallo Jörg,

Formluar 1 klappt, Formular 2 passt noch nicht ganz.

Hier mal ein kurzer Auszug aus Formular 1:
Dort kann zwischen 3 Turnierklassen ausgewählt werden. Alle 3 sind im gesamten quasi eins. Maximal zusammen dürfen es 192 seien. Sind es weniger, werden die Klassen in grüner Farbe dargestellt, sind es mehr wie 192, sind die Klassen rot, kursiv und durchgestrichen. Darunter wird dann der Hinweis aufgezeigt.
    <td>Turnierklasse:</td>
    <td><select name="turnierklasse">
    <option>Bitte auswählen</option>
    <?php
    /*Sonntag*/
    $sunfull = ($num_sonntag >= $max_sonntag ? 'full"' : 'gruen"');
?>
   <option value="1" class="<?php
    echo $sunfull;
    echo ($_POST['turnierklasse'] == 1 ? '" selected="selected' : '');
?>">C-Klasse bis TTR 1450 - Turniertag 2 - Sonntag 13. September 2015</option>
    <option value="2" class="<?php
    echo $sunfull;
    echo ($_POST['turnierklasse'] == 2 ? '" selected="selected' : '');
?>">B-Klasse bis TTR 1600 - Turniertag 2 - Sonntag 13. September 2015</option>
    <option value="3" class="<?php
    echo $sunfull;
    echo ($_POST['turnierklasse'] == 3 ? '" selected="selected' : '');
?>">A-Klasse ab TTR 1601 - Turniertag 2 - Sonntag 13. September 2015</option>
    </select><?php
    echo $frm_error['turnierklasse'];
?>
</td></tr>
<?php
    if ($sunfull == 'full"') {
?><tr><td colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich!</td></tr><?php
    }
?>

Im Formular 2 gibt es einen Unterschied. Da werden die 3 Klassen nicht als eins gesehen, sondern getrennt. Ich habe dies versucht so zu realisieren:
<tr>
    <td>Turnierklasse:</td>
    <td><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;
    echo ($_POST['turnierklasse'] == 1 ? '" selected="selected' : '');
?>">Jugend B bis TTR 1150 - Turniertag 1 - Samstag 12. September 2015</option>
    <option value="2" class="<?php
    echo $sunfull_jugenda;
    echo ($_POST['turnierklasse'] == 2 ? '" selected="selected' : '');
?>">Jugend A ab TTR 1151 - Turniertag 1 - Samstag 12. September 2015</option>
    <option value="3" class="<?php
    echo $sunfull_dklasse;
    echo ($_POST['turnierklasse'] == 3 ? '" selected="selected' : '');
?>">D-Klasse bis TTR 1350 - Turniertag 1 - Samstag 12. September 2015</option>
    </select><?php
    echo $frm_error['turnierklasse'];
?>
</td></tr>
<?php
    if ($num_jugendb>=$max_jugendb || $num_jugenda>=$max_jugenda || $num_dklasse>=$max_dklasse || $sunfull=='full"') {		
?><tr><td colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich!</td></tr><?php
    }
?>

Jedoch stocke ich beim Bereich des Einbinden des Hinweises. Hier muss das $sunfull=='full"' ja anderster geschrieben werden, da es $sunfull in der Form ja nicht gibt.

26.04.2015 14:16

2 Jörg Kruse

Eine Bemerkung vorweg:

$sunfull = ($num_sonntag >= $max_sonntag ? 'full"' : 'gruen"');

Ich finde es etwas gruselig, dass du das zweite " noch mit in den Variablenwert mit einbeziehst. Ich würde das ändern!

Zu deiner Frage:

ich würde hier in_array() verwenden:

if (in_array('full', array($sunfull_jugendb, $sunfull_jugenda, $sunfull_dklasse)) {
    /* ... */
}

27.04.2015 10:36

3 tobi

Wenn ich nun aus:
<?php
    if ($num_jugendb>=$max_jugendb || $num_jugenda>=$max_jugenda || $num_dklasse>=$max_dklasse || $sunfull=='full"') {		
?><tr><td colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich!</td></tr><?php
    }
?>

dies mache:
<?php
   if (in_array('full', array($sunfull_jugendb, $sunfull_jugenda, $sunfull_dklasse)) {	
?><tr><td colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich!</td></tr><?php
    }
?>

dann bekomme ich PHP Parse error: syntax error, unexpected '{' Meldung

27.04.2015 16:49 | geändert: 27.04.2015 16:49

4 Jörg Kruse

Da fehlte noch eine schließende Klammer:

if (in_array('full', array($sunfull_jugendb, $sunfull_jugenda, $sunfull_dklasse))) {
    /* ... */
}

27.04.2015 17:47 | geändert: 27.04.2015 17:47

5 tobi

Die Klammer ist mir gar nicht in denn Sinn gekommen, ich hatte nur { im Auge und die war ja korrekt. Aber wenn man 3x ( öffnet, dann muß man sie ja logischerweise auch 3x mit ) schließen.

Jetzt stosse ich aber auf einen anderen Fehler:
if (!$show_form) { //sende anfrage / eintragen
    $_POST['turnierklasse'] = intval($_POST['turnierklasse']);
    $turnierklassestr       = '';
    $altSignUp              = ($num_sonntag >= $max_sonntag); //case 1&2 change it again
    switch ($_POST['turnierklasse']) {
        case 1:
            $turnierklasse    = 'Jugend B';
            $turnierklassestr = 'Jugend B - Samstag 12. September 2015';
            $startgeld        = '8€';
            $vorkasse         = '7€';
            break;
        case 2:
            $turnierklasse    = 'Jugend A';
            $turnierklassestr = 'Jugend A - Samstag 12. September 2015';
            $startgeld        = '8€';
            $vorkasse         = '7€';
            break;
        case 3:
            $turnierklasse    = 'D-Klasse';
            $turnierklassestr = 'D-Klasse - Samstag 12. September 2015';
            $startgeld        = '10€';
            $vorkasse         = '9€';
            break;
    }

Es wird gemosert, hier:
    $altSignUp              = ($num_sonntag >= $max_sonntag);
Undefined variable: num_sonntag. logisch, $num_sonntag >= $max_sonntag gibt es ja auch nicht mehr, sondern jeweils ja

$num_jugendb
$num_jugenda
$num_dklasse
$max_jugenda=35;
$max_jugendb=35;
$max_dklasse=64;
muss ich dies auch wieder in einen array packen?
$altSignUp              = array($num_jugendb >= $max_jugendb,$num_jugenda >= $max_jugenda, $num_dklasse >= $max_dklasse);

27.04.2015 18:16 | geändert: 27.04.2015 18:16

6 Jörg Kruse

    $altSignUp              = ($num_sonntag >= $max_sonntag);

In den Klammern steht eine Bedingung, welche einen boolschen Wert (true oder false) zurückgibt

Mehrere Bedingungen kannst du mit && (und) bzw. || (oder) verknüpfen. Wenn nur eine Bedingung erfüllt werden braucht, dann werden die Bedingungen mit || verknüpft:

$altSignUp              = (
    $num_jugendb >= $max_jugendb ||
    $num_jugenda >= $max_jugenda ||
    $num_dklasse >= $max_dklasse
);

28.04.2015 14:17

7 tobi

Zum Testen habe ich nun
$max_jugenda=1;
$max_jugendb=1;
$max_dklasse=1;
überall auf 1 gesetzt. D.h. wenn nun jemand angemeldet ist, dann müßte eine Turnierklasse ja rot durchgestrichen und kursiv seien (was bedeutet dass voll wäre). Ebenso müßte mein Hinweis : Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich! unter dem entsprechenden Auswahlfeld erscheinen.

Eine Person ist nun in der DB gespeichert. Bei der Person ist Turnierklasse 1 (Jugend B) hinterlegt.
Wenn ich das Formular nun erneut ausfüllen möchte, dann taucht hier kein Hinweis auf und beim Auswahlfeld ist nicht Jugend B durchgestrichen, sondern D-Klasse (was bei mir Turnierklasse 3 ist). Irgendwie komisch. Eigentlich müßte der Hinweis erscheinen und Jugend B (Turnierklasse 1) durchgestrichen seien.

EDIT:
du hattest bei
if (in_array('full"'
das " bemängelt.
ich habe nun bis eben
if (in_array('full'
gehabt, wie du empfohlen hast. Als ich eben aber wieder
if (in_array('full"'
eingebaut habe, wurde mir der Hinweistext aufgezeigt, so wie ich ihn gerne hätte.

EDIT 2: Problem mit dem falschen durchgestrichenen konnte ich lösen. Ich hatte im Scipt beim Abfragen der Turnierklassen, die 1 und die 3 vertaucht.

EDIT 3: weiteres Problem. Melde ich einen Spieler bei Jugend B an, dann bekommt dieser die bestätigungsemail. Das Limit wäre dann ausgereizt für Jugend B. Bei A ist noch keiner gemeldet, eigentlich müßte dieser auch eine Bestätigungsemail erhalten, leider erhält er eine Mail, aber die falsche (wartelistemail)

28.04.2015 19:41 | geändert: 28.04.2015 20:05

8 Jörg Kruse

Zitat von tobi
EDIT:
du hattest bei
if (in_array('full"'
das " bemängelt.
ich habe nun bis eben
if (in_array('full'
gehabt, wie du empfohlen hast. Als ich eben aber wieder
if (in_array('full"'
eingebaut habe, wurde mir der Hinweistext aufgezeigt, so wie ich ihn gerne hätte.

Ja, weil sich mehrere Fehler gegenseitig aufheben! Du musst das " natürlich an der Stelle einbauen, an der es jetzt fehlt:

   <option value="1" class="<?php
    echo $sunfull;
    echo ($_POST['turnierklasse'] == 1 ? '" selected="selected' : '');
?>">C-Klasse bis TTR 1450 - Turniertag 2 - Sonntag 13. September 2015</option>

Da fehlt das schließende " der Klasse, und auch beim "selected" muss man das zweite " erst suchen

So sind die " schön beisammen, und man sieht auf Anhieb, dass kein " fehlt:

   <option value="1" class="<?php echo $sunfull; ?>"
   <?php echo ($_POST['turnierklasse'] == 1 ? ' selected="selected"' : ''); ?>
   >C-Klasse bis TTR 1450 - Turniertag 2 - Sonntag 13. September 2015</option>

EDIT 3: weiteres Problem. Melde ich einen Spieler bei Jugend B an, dann bekommt dieser die bestätigungsemail. Das Limit wäre dann ausgereizt für Jugend B. Bei A ist noch keiner gemeldet, eigentlich müßte dieser auch eine Bestätigungsemail erhalten, leider erhält er eine Mail, aber die falsche (wartelistemail)

Von einer Mail sehe ich dem Code nichts?

29.04.2015 20:22

9 tobi

Ich hatte bisher auch keinen Mailcode gepostet, da ich dort noch kein Problem mit hatte. Jetzt taucht dies aber auf. Ich glaube alle anderen Probleme nun ausgebesert zu haben, so dass nur die übermittelung des korrekten Mailinhaltes noch das Problem ist.

So sollte es seien:
Es gibt 3 Wettbewerbe: Jugend B, Jugend A und D-Klasse. Jedem habe ich ein max. Limit gesetzt. Beim Anmelden geht eine Bestätigungsmail (eine positive) an den der sich anmeldet (evtl. auch eine Kopie an einen 2. sofern eingetragen), eine Mail an die Turnierleitung und eine Eintrag in die Datenbank.
Sollte das Limit bei einem Wettbewerb ausgereizt seien, so bekommt der Anmeldende und die Turnierleitung einen anderen Text zugesendet (quasi eine Absage), Eintrag in die Datenbank erfolgt aber normal.

Aktuell ist es leider so, dass wenn ein Wettbewerb voll ist, die anderen beiden aber nicht, dass überall dann der Absagetext kommt.

Hier mal der ganze Code:
<?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
//include des PHPMailer
require 'PHPMailer-master/PHPMailerAutoload.php';

$mail = new PHPMailer;
?>

<?php
//Zugangsdaten SMTP
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host       = 'zensiert'; // Specify main and backup SMTP servers
$mail->SMTPAuth   = true; // Enable SMTP authentication
$mail->Username   = 'zensiert'; // SMTP username
$mail->Password   = 'zensiert'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port       = zensiert; // TCP port to connect to
?>

    
            <!-- Anfang Linker Inhalt -->
            <div id="linkerinhalt">
    <title>Anmeldung</title>

<?php

include_once('zugang_ppc.php.inc');

// max. Anzahl Teilnehmer Samstag "134" zusammengesetzt aus 35 Teilnehmer in Klasse 1, 35 in Klasse 2 und 64 in Klasse 3
//$max_jugenda=35;
//$max_jugendb=35;
//$max_dklasse=64;
$max_jugenda=2;
$max_jugendb=4;
$max_dklasse=2;

// sql-Abfrage 1 - Ermitteln Anzahl Jugend B (Turnierklasse = 1)
$query = mysql_query('SELECT Count(*) FROM anmeldungen_2015_samstag WHERE gemeldeteKlasse = \'1\'');
list($num_jugendb) = mysql_fetch_row($query);
// sql-Abfrage 2 - Ermitteln Anzahl Jugend A (Turnierklasse = 2)
$query = mysql_query('SELECT Count(*) FROM anmeldungen_2015_samstag WHERE gemeldeteKlasse = \'2\'');
list($num_jugenda) = mysql_fetch_row($query);
// sql-Abfrage 3 - Ermitteln Anzahl D-Klasse + Teilweise Damen B (Turnierklasse = 3)
$query = mysql_query('SELECT Count(*) FROM anmeldungen_2015_samstag WHERE gemeldeteKlasse = \'3\'');
list($num_dklasse) = mysql_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'])) {
    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 B';
            $turnierklassestr = 'Jugend B - Samstag 12. September 2015';
            $startgeld        = '8€';
            $vorkasse         = '7€';
            break;
        case 2:
            $turnierklasse    = 'Jugend A';
            $turnierklassestr = 'Jugend A - Samstag 12. September 2015';
            $startgeld        = '8€';
            $vorkasse         = '7€';
            break;
        case 3:
            $turnierklasse    = 'D-Klasse';
            $turnierklassestr = 'D-Klasse - Samstag 12. September 2015';
            $startgeld        = '10€';
            $vorkasse         = '9€';
            break;
    }
    if (mysql_fetch_object(mysql_query('SELECT * FROM `anmeldungen_2015_samstag` WHERE `vorname` = \'' . mysql_real_escape_string($_POST['vorname']) . '\' AND `nachname` = \'' . mysql_real_escape_string($_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 unter dieser Mailadresse: <a class="mailto" href="mailto:zensiert">zensiert</a></p>
                </p><?php
        $show_form = false;
    } else { //eintragen
        $mysql_query = '
INSERT INTO `anmeldungen_2015_samstag`
(`vorname`, `nachname`, `geschlecht`, `geburtsjahr`, `ttr`, `email`, `verein`, `gemeldeteKlasse`, `anmerkung`, `timestamp`)
VALUES
(\'' . mysql_real_escape_string($_POST['vorname']) . '\', \'' . mysql_real_escape_string($_POST['nachname']) . '\', \'' . mysql_real_escape_string($_POST['geschlecht']) . '\', \'' . mysql_real_escape_string($_POST['geburtsjahr']) . '\', \'' . mysql_real_escape_string($_POST['ttr']) . '\', \'' . mysql_real_escape_string($_POST['email']) . '\', \'' . mysql_real_escape_string($_POST['verein']) . '\', \'' . $_POST['turnierklasse'] . '\', \'' . mysql_real_escape_string($_POST['eintrag']) . '\', NOW())';
        if (mysql_query($mysql_query)) { //Bestätigungsemail an den Anmeldenden
            
            $mail = new PHPMailer;
            
            //Betreff in der E-Mail ermitteln, je nach Teilnehmeranzahl
            $subject = 'Bestätigung der Anmeldung zum PPC 18';
            if ($altSignUp)
                $subject = 'Warteliste - PPC 18';
            
            //Zeit ermittelt an dem das Formular ausgefüllt wurde
            $today_Wochentag = date('l');
            $today_Datum     = date('d.m.Y');
            $today_Uhrzeit   = date('H:i');
            
            //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 {$today_Wochentag} 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.2015: {$_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 />
                Für eine schnellere Abwicklung beim Turnier gibt es die Möglichkeit per Vorkasse bis zum 10.09.2015 (Geldeingang) die Startgebühr zu überweisen.<br />
                Kontodaten:<br />
                zensiert<br />
                KTO: zensiert<br />
                BLZ: zensiert<br />
                zensiert<br />
                Betrag: {$vorkasse}<br />
                Verwendungszweck: PPC 2015, {$_POST['nachname']}, {$_POST['vorname']}, {$turnierklasse}, {$_POST['verein']}<br />
                <br />
                Hinweis:<br />
                Die Teilnehmer des Turniers werden zeitnah auf der Homepage veröffentlicht. Zu den einzelnen Teilnehmerfeldern:<br />
                http://zensiert/<br />
                Falls eine Teilnahme - aus welchen Gründen auch immer - nicht erfolgen kann, bitte um Abmeldung via E-mail: zensiert<br />
                <br />
                Vielen Dank!<br />
                <br />
                Mit sportlichen Grüßen<br />
                zensiert    
                ";
            if ($altSignUp)
                $text = "    
                                            Hallo {$_POST['vorname']} {$_POST['nachname']},<br />
                                            <br />
                                            am {$today_Wochentag} den {$today_Datum} um {$today_Uhrzeit} Uhr ist deine {$anmeldung_oder_warteliste} bei uns eingegangen. Dies ist keine Turnierbestätigung!<br />
                                            Aktuell ist die Teilnehmergrenze in deinem gemeldeten Wettbewerb überschritten und wir können deine Anfrage aktuell leider noch nicht bestätigen. Erfahrungsgemäß sagen aber kurz vor Turnierbeginn noch der ein 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.2015: {$_POST['ttr']}<br />
                                            Angemeldete Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
                                            Verein: {$_POST['verein']}<br />
                                            <br />
                                            Vielen Dank!<br />
                                            <br />
                                            Mit sportlichen Grüßen<br />
                                            zensiert";
            
            //UTF-8 Kodierung festlegen
            $mail->CharSet = "utf-8";
            
            //Absenderadresse der Email setzen
            $mail->setFrom("zensiert");
            $mail->addReplyTo("zensiert");
            
            //Name des Abenders setzen
            $mail->FromName = ("zensiert");
            
            //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;
                
                //Betreff in der E-Mail ermitteln, je nach Teilnehmeranzahl
                $subject = 'Neue Anmeldung zum PPC 18';
                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');
                
                //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 {$today_Wochentag} 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.2015: {$_POST['ttr']}<br />
                Angemeldete Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
                Geburtsjahr: {$_POST['geburtsjahr']}<br />
                Verein: {$_POST['verein']}<br />            
                <br />
                Mit sportlichen Grüßen<br />
                {$_POST['vorname']} {$_POST['nachname']}
                ";
                if ($altSignUp)
                    $text = "    WARTELISTE!!!<br />
                                            <br />
                                            Hallo Turnierleitung,<br />
                                            <br />
                                            am {$today_Wochentag} 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.2015: {$_POST['ttr']}<br />
                                            Angemeldete Turnierklasse samt Turniertag: " . $turnierklassestr . (intval($_POST['turnierklasse_ex']) ? ' (freiwillig eine Klasse höher)' : '') . "<br />
                                            Geburtsjahr: {$_POST['geburtsjahr']}<br />
                                            Verein: {$_POST['verein']}<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($_POST['email'], $_POST['vorname'] . ' ' . $_POST['nachname']);
                $mail->addReplyTo($_POST['email'], $_POST['vorname'] . ' ' . $_POST['nachname']);
                
                //Name des Abenders setzen
                $mail->FromName = ($_POST['vorname'] . ' ' . $_POST['nachname']);
                
                //Empfängeradresse setzen
                $mail->AddAddress("zensiert");
                
                // 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">' . mysql_error() . '</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</h1>    
<p>für den Turniertag 1, Samstag den 12.09.2015</p>
<p>Bitte jetzt folgende Felder ausfüllen. Die Teilnahme in einer höheren Turnierklasse ist möglich (bitte angeben), nicht aber ein Start in mehreren Wettbewerben.
*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="anmeldung-samstag.php">
<table><tr>
    <td><label for="vorname">Vorname:</label></td>
    <td><input name="vorname" type="text" id="vorname" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['vorname'] . '"/>' . $frm_error['vorname']);
?></td>
</tr>
<tr>
    <td><label for="nachname">Nachname:</label></td>
    <td><input name="nachname" type="text" id="nachanme" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['nachname'] . '"/>' . $frm_error['nachname']);
?></td>
</tr>
<tr>
    <td>Geschlecht:</td>
    <td><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'];
?></td>
</tr>
<tr>
    <td><label for="ttr">Quartals-TTR vom 11.08.2015:</label></td>
    <td><input name="ttr" type="text" id="ttr" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['ttr'] . '"/>' . $frm_error['ttr']);
?></td>
</tr>
<tr>
    <td>Turnierklasse:</td>
    <td><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 B bis TTR 1150 - Turniertag 1 - Samstag 12. September 2015</option>
   <option value="2" class="<?php echo $sunfull_jugenda; ?>"
   <?php echo ($_POST['turnierklasse'] == 2 ? ' selected="selected"' : ''); ?>
   >Jugend A ab TTR 1151 - Turniertag 1 - Samstag 12. September 2015</option>
   <option value="3" class="<?php echo $sunfull_dklasse; ?>"
   <?php echo ($_POST['turnierklasse'] == 3 ? ' selected="selected"' : ''); ?>
   >D-Klasse bis TTR 1350 - Turniertag 1 - Samstag 12. September 2015</option>
   </select><?php
    echo $frm_error['turnierklasse'];
?>
</td></tr>
<?php		
	  if (in_array('full', array($sunfull_jugendb, $sunfull_jugenda, $sunfull_dklasse))) {
?><tr><td colspan="2" class="rot" style="text-align:center;font-size:80%;">Hinweis: eine oder mehrere Turnierklassen sind derzeit belegt, Anmeldung für die gewünschte Turnierklasse ist dennoch unter Vorbehalt möglich!</td></tr><?php
    }
?>
<tr><td colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;<input name="turnierklasse_ex" type="checkbox" id="turnierklasse_ex" value="1"<?php
    echo (intval($_POST['turnierklasse_ex']) ? ' checked="checked"' : '');
?>/> <label for="turnierklasse_ex">Ich habe mich freiwillig eine Klasse höher gemeldet</label></td></tr>
<tr>
    <td><label for="email">E-Mail*:</label></td>
    <td><input name="email" type="text" id="email" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['email'] . '"/>' . $frm_error['email']);
?></td>
</tr>
<tr>
    <td><label for="email_alt">E-Mail 2 (optional):</label></td>
    <td><input name="email_alt" type="text" id="email_alt" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['email_alt'] . '"/>' . $frm_error['email_alt']);
?></td>
</tr>
<tr>
    <td><label for="geburtsjahr">Geburtsjahr:</label></td>
    <td><input name="geburtsjahr" type="text" id="geburtsjahr" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['geburtsjahr'] . '"/>' . $frm_error['geburtsjahr']);
?></td>
</tr>
<tr>
    <td><label for="verein">Verein:</label></td>
    <td><input name="verein" type="text" id="verein" size="70" maxlength="50" class="eingabe" value="<?php
    echo ($_POST['verein'] . '"/>' . $frm_error['verein']);
?></td>
</tr>
<tr>
    <td valign="top"><label for="email">Anmerkung:</label></td>
    <td><textarea name="eintrag" cols="65" rows="7" id="eintrag" class="eingabe"><?php
    echo ($_POST['eintrag']);
?></textarea></td>
</tr>
</table><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");
?> 

02.05.2015 11:16

10 Jörg Kruse

Wozu gehört denn die geschweifte Klammer:

             { //Mail an die Turnierleitung

Fehlt da vielleicht ein if + Bedingung?

02.05.2015 20:02