Zur Navigation

Zwei oder mehr Anmeldungen pro Formular [8]

71 tobi

so schlau bin ich auch - nur dass zu realisieren ist manchmal nicht ganz so einfach, bzw man muss wissen wie man was wo macht

08.06.2009 18:31

72 Jörg Kruse

Du musst halt aus der einen Schleife zwei Schleifen machen. In der ersten Schleife prüfst du auf Vollständigkeit des Fomulars. Wenn dies der Fall ist, werden die Daten in einer zweiten Schleife in die Datenbank eingetragen.

10.06.2009 00:04

73 tobi

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);

11.06.2009 22:19

... 9 Monate später ...

74 tobi

hallo zusammen,

nach knapp einem 3/4 jahr möchte ich mein formular ein wenig überarbeiten und erweitern.

ich würde gerne zusätzlich 2 sachen ändern. und zwar wie bei turnierklasse ein auswahlfeld für position und geschlecht mit einbauen.

hab das ganze nun erweitert.

in folgedem abschnitt bekomme ich eine fehlermedlugn ausgegeben:

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

               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($_POST['geschlecht'])) {
               foreach ($geschlecht1 as $keyGS => $valuGS) {
               if ($keyGS != '-' && ($keyGS == $geschlechtx[$i])){
                  $listeGS[$i] .= "\t<option value=\"".$keyGS."\" selected='selected'>".$valuGS."</option>\n";
               } else {
                  $listeGS[$i] .= "\t<option value=\"".$keyGS."\">".$valuGS."</option>\n";
              }// ende for

	       if (!empty($_POST['position'])) {
               foreach ($position1 as $keyPO => $valuPO) {
               if ($keyPO != '-' && ($keyPO == $positionx[$i])){
                  $listePO[$i] .= "\t<option value=\"".$keyPO."\" selected='selected'>".$valuPO."</option>\n";
               } else {
                  $listePO[$i] .= "\t<option value=\"".$keyPO."\">".$valuPO."</option>\n";
               }// ende for

			}
            }

Parse error: syntax error, unexpected T_ELSE

woran liegt das liegen?

10.04.2010 14:11 | geändert: 10.04.2010 14:12

75 Jörg Kruse

So ein Syntaxfehler wird meist durch eine fehlende Klammer oder ein fehlendes Semikolon o.ä. verursacht und bringt den Parser weniger später an der in der Fehlermeldung genannten Zeile aus dem Tritt. Du musst also oberhalb der genannten Zeile schauen, ob sich dort ein Syntaxfehler befindet.

10.04.2010 16:21

76 tobi

nunja,

wenn ich den bereich auskommentiere:
//	       if (!empty($_POST['geschlecht'])) {
//               foreach ($geschlecht1 as $keyGS => $valuGS) {
//               if ($keyGS != '-' && ($keyGS == $geschlechtx[$i])){
//                  $listeGS[$i] .= "\t<option value=\"".$keyGS."\" selected='selected'>".$valuGS."</option>\n";
//               } else {
//                  $listeGS[$i] .= "\t<option value=\"".$keyGS."\">".$valuGS."</option>\n";
 //             }// ende for

//	       if (!empty($_POST['position'])) {
//               foreach ($position1 as $keyPO => $valuPO) {
//               if ($keyPO != '-' && ($keyPO == $positionx[$i])){
                  $listePO[$i] .= "\t<option value=\"".$keyPO."\" selected='selected'>".$valuPO."</option>\n";
//               } else {
//                  $listePO[$i] .= "\t<option value=\"".$keyPO."\">".$valuPO."</option>\n";
//               }// ende for

dann wird keine fehlermeldung ausgegeben

11.04.2010 00:02

77 Jörg Kruse

Du hast dort nicht alle "{" geschlossen (von else bzw. von foreach) . Rück den Code mal ein, dann siehst du, wo du Abschnitte noch schließen musst

11.04.2010 01:04

78 Forum

2 Beiträge aus diesem Thread wurden in einen neuen Thread verschoben:

Geburtsdatum im Formular

14.04.2010 23:52

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]