Formular problem

so hab ich´s jetzt mal versucht ob das richitg ist weiß ich allerdings nicht. jedenfalls funktioniert der versand

//Datenbank verbinden

error_reporting(E_ALL);

                        $today = date("l; d.m.Y H:i:s");
                        $nachname="";
                        $vorname="";
                        $email="";
                        $verein="";
                        $spielklasse="";
                        $position="";
                        $turnierklasse="";
                        $eintrag="";
                        $timestamp="";
                        $meldung="";
                        $meldungok="";

                        $nachnamex = array('', '');
                        $vornamex = array('', '');
                        $emailx = array('', '');
                        $vereinx = array('', '');
                        $spielklassex = array('', '');
                        $positionx = array('', '');
                        $turnierklassex = array('', '');
                        $eintragx = array('', '');

$meldung = "";
$meldungok = "";

// Werte für Listenfeld
$turnierklasse1 = array(
"1"=>"Damen",
"2"=>"Herren A",
"3"=>"Herren B",
"4"=>"Herren C"
       );

         $listeTK[0] = '';
         $listeTK[0] .= "\t<option value='' selected='selected'>Bitte auswählen</option>\n";
         if (empty($_POST['turnierklasse'])) {
            foreach ($turnierklasse1 as $keyTK => $valuTK) {
               $listeTK[0] .= "\t<option value=\"".$keyTK."\">".$valuTK."</option>\n";
            }
         }
         $listeTK[1] = $listeTK[0];



if(isset($_POST['sicherheitscode']))
{
    $code=$_POST['sicherheitscode'];
    $anzahl = 2;
    $nachnamex =($_POST['nachname']);
    $vornamex = ($_POST['vorname']);
    $emailx = ($_POST['email']);
    $vereinx = ($_POST['verein']);
    $spielklassex = ($_POST['spielklasse']);
    $positionx = ($_POST['position']);
    $turnierklassex = ($_POST['turnierklasse']);
    $eintragx = ($_POST["eintrag"]);

if(empty($_SESSION['captcha_spam'] ) || $code != $_SESSION['captcha_spam'])
   $meldung .= "<rot><b>Sicherheitscode falsch eingegeben!</b></rot><br>";

    $i = 0;
    while ($i < $anzahl) {
        $nachname = mysql_real_escape_string($nachnamex[$i]);
        $vorname = mysql_real_escape_string($vornamex[$i]);
        $email = mysql_real_escape_string($emailx[$i]);
        $verein = mysql_real_escape_string($vereinx[$i]);
        $spielklasse = mysql_real_escape_string($spielklassex[$i]);
        $position = mysql_real_escape_string($positionx[$i]);
        $turnierklasse5 = mysql_real_escape_string($turnierklassex[$i]);
        $eintrag = mysql_real_escape_string($eintragx[$i]);

               if (!empty($_POST['turnierklasse'])) {
               foreach ($turnierklasse1 as $keyTK => $valuTK) {
               if ($keyTK != '-' && ($keyTK == $turnierklassex[$i])){
                  $listeTK[$i] .= "\t<option value=\"".$keyTK."\" selected='selected'>".$valuTK."</option>\n";
               } else {
                  $listeTK[$i] .= "\t<option value=\"".$keyTK."\">".$valuTK."</option>\n";
               }// ende for
            }
            }

if(empty($nachnamex[$i]))
   $meldung .= "<rot><b>Bitte Nachnamen  bei Spieler " . ($i + 1) . " eingeben!</b></rot><br>";
if(empty($vornamex[$i]))
   $meldung .= "<rot><b>Bitte Vornamen bei Spieler " . ($i + 1) . " eingeben!</b></rot><br>";
if(empty($emailx[$i]) || !ereg('^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.([a-zA-Z]){2,4})$', $email))
   $meldung .= "<rot><b>Bitte eine gültige Emailadresse bei Spieler " . ($i + 1) . " angeben!</b></rot><br>";
if(empty($vereinx[$i]))
   $meldung .= "<rot><b>Bitte Verein bei Spieler " . ($i + 1) . " eingeben!</b></rot><br>";
if(empty($spielklassex[$i]))
   $meldung .= "<rot><b>Bitte Spielklasse bei Spieler " . ($i + 1) . " eingeben!</b></rot><br>";
if(empty($positionx[$i]))
   $meldung .= "<rot><b>Bitte Position bei Spieler " . ($i + 1) . " eingeben!</b></rot><br>";
if(empty($turnierklassex[$i]))
   $meldung .= "<rot><b>Bitte richtige Turnierklasse bei Spieler " . ($i + 1) . " auswählen (Damen, Herren A, Herren B oder Herren C)!</b></rot><br>";

        $i++;
    }

    $i = 0;
    while ($i < $anzahl) {
    $nachname = mysql_real_escape_string($nachnamex[$i]);
        $vorname = mysql_real_escape_string($vornamex[$i]);
        $email = mysql_real_escape_string($emailx[$i]);
        $verein = mysql_real_escape_string($vereinx[$i]);
        $spielklasse = mysql_real_escape_string($spielklassex[$i]);
        $position = mysql_real_escape_string($positionx[$i]);
        $turnierklasse5 = mysql_real_escape_string($turnierklassex[$i]);
        $eintrag = mysql_real_escape_string($eintragx[$i]);



   if(empty($meldung))

{

                   $meldungok="<p><rot><b>Die Anmeldungen zum PPC 2009 sind bei uns eingegangen!<br>In Ihrem Postfach befindet sich eine Bestätigung der Anmeldung.</b></rot><br><a href=\"ppc2009Anmeldung.php\">Zurück zur Übersicht</a></p>\n";

//Anmeldemail Turnierleitung
                                $subject="Neue Anmeldung zum PPC 2009";
                                $mailcontent="Es gibt eine neue Anmeldung zum PPC 12 2009.\n\n";
                                $mailcontent.="Maileingang:             ".$today."\n\n";
                                $mailcontent.="Hier die Daten des Teilnehmers:\n\n";
                                $mailcontent.="Nachame:             ".$nachname."\n\n";
                                $mailcontent.="Vorname:             ".$vorname."\n\n";
                                $mailcontent.="eMail:            ".$email."\n\n";
                                $mailcontent.="Verein:             ".$verein."\n\n";
                                $mailcontent.="Spielklasse 09/10:    ".$spielklasse."\n\n";
                                $mailcontent.="Position:             ".$position."\n\n";
                                $mailcontent.="Turnierklasse:             ".$turnierklasse1[$turnierklasse5]."\n\n";
                                $mailcontent.="Bemerkung:  \n".$eintrag."\n\n";
                                $mailcontent=ereg_replace("(<br>)","\n",$mailcontent);
                                $mailcontent=str_replace("&quot;","\"",$mailcontent);
                                $mailcontent=str_replace("&amp;","&",$mailcontent);
                                $mailcontent=str_replace("&lt;","<",$mailcontent);
                                $mailcontent=str_replace("&gt;",">",$mailcontent);
                                $from_address="From: \"".$nachname.", ".$vorname."\" <".$email.">\n";
                                mail("123@123.de",$subject,$mailcontent,$from_address);
//                                mail("123@123.de",$subject,$mailcontent,$from_address);

//Bestätigungsmail Anmeldender
                                $subject="Bestätigung der Anmeldung zum PPC 2009";
                                $mailcontent="Hallo ".$vorname." ".$nachname.",<br><br>Soeben (".$today.") ist Ihre Anmeldung zum Ping-Café Am Schelmenbusch 12 2009 bei uns eingegangen. Vielen Dank. <br><br>Hier als Bestätigung und zur Überprüfung die angegebenen Daten.\n\n";
                                $mailcontent.="Nachname:             ".$nachname."\n\n";
                                $mailcontent.="Vorname:             ".$vorname."\n\n";
                                $mailcontent.="eMail:            ".$email."\n\n";
                                $mailcontent.="Verein:             ".$verein."\n\n";
                                $mailcontent.="Spielklasse 09/10:    ".$spielklasse."\n\n";
                                $mailcontent.="Position:             ".$position."\n\n";
                                $mailcontent.="Turnierklasse:             ".$turnierklasse1[$turnierklasse5]."\n\n";
                                $mailcontent.="Bemerkung:  \n".$eintrag."\n\n";
                                $mailcontent.="Kleiner Hinweis: Die Teilnehmer des Turniers werden zeitnah auf der Homepage veröffentlicht\n\n";
                                $mailcontent.="Die Teilnehmer der Damen: http://123.de/ppc2009Damen.php\n\n";
                                $mailcontent.="Die Teilnehmer der Herren A: http://123.de/ppc2009HerrenA.php\n\n";
                                $mailcontent.="Die Teilnehmer der Herren B: http://123.de/ppc2009HerrenB.php\n\n";
                                $mailcontent.="Die Teilnehmer der Herren C: http://123.de/ppc2009HerrenC.php\n\n";
                                $mailcontent.="Falls eine Teilnahme - aus welchen Gründen auch immer - nicht erfolgen kann, bitte um Abmeldung über folgenden Link: http://123.de/ppc2009Abmeldung.php oder via E-mail: 23
@213.de\n\n";
                                $mailcontent.="Vielen Dank!\n\n";
                                $mailcontent.="Mit freundlichen Grüßen<br>213\n\n";
                                $mailcontent=ereg_replace("(<br>)","\n",$mailcontent);
                                $mailcontent=str_replace("&quot;","\"",$mailcontent);
                                $mailcontent=str_replace("&amp;","&",$mailcontent);
                                $mailcontent=str_replace("&lt;","<",$mailcontent);
                                $mailcontent=str_replace("&gt;",">",$mailcontent);
                                $from_address="From: \"132\" <123@123.de>\n";
                                mail("123@13s.de",$subject,$mailcontent,$from_address);
                                mail("\"".$nachname."\" <".$email.">",$subject,$mailcontent,$from_address);

mysql_query("INSERT INTO ppc_anmeldungen
(nachname, vorname, email, verein, spielklasse, position, turnierklasse, eintrag, timestamp)
VALUES
('$nachname', '$vorname', '$email', '$verein', '$spielklasse', '$position', '$turnierklasse5', '$eintrag', NOW())")
or die(mysql_error());
               }
        $i++;
    }
}





mysql_close($link);

Wieso weisst du das nicht …?

Wenn der Versand schon mal so funktioniert, wie du dir das vorgestellt hast, ist das ja zumindest schon mal ein Teilkriterium für die Beurteilung als „richtig“.
Ob es auch in den erwarteten Fehlerfällen wie erwartet reagiert, wäre dann noch gegenzuprüfen.

Dass man Testcases definiert und die Reaktion des Scriptes/Programmes darauf checkt, gehört zur Programmierung untrennbar dazu.

sagen wir so es macht dass was es machen soll. ob das jetzt vorteilhaft programmiert ist oder nciht, dass weiß ich nicht! das war mit richitg gemeint :slight_smile: