Seite 1 von 1

Teilnehmer Mitglieder Liste für Frontend und Backend

Verfasst: Mo 10. Aug 2009, 21:32
von php0815
Habe für meinen Sportverein eine Teilnehmer liste programmiert.
Frontend: Möglichkeit für Teilnehmer sich an der Veranstaltung anzumelden.
Es wird eine Anmeldebestätigung per Mail verschickt.

Backend gibt es die Möglichkeit neue Teilnehmer anlegen und oder zu bearbeiten.

Es gibt 2 Module die ins Output kommen.

Es ist vielleicht nicht 100% gut programmiert aber es funktioniert.

EDIT: 11.08.09
Habe den DB-Code so angepasst das kein Contenido DB-zugriff mehr drin ist.

Anmelden:

Code: Alles auswählen

<?php
    /***********************************************
    * CONTENIDO MODUL - OUTPUT
    *
    * Modulname    :    Veranstalltungs Anmeldung
    * Author(s)    :    PHP0815
    * Erstellt     :    09-08-2009    
    ************************************************/

#Includes
cInclude("classes", "class.phpmailer.php");
cInclude("classes", "class.frontend.users.php");

$anmeldug = false;

   $strMsg = "";

   if ($_POST["action"] == "save") {

//------------------------------------------------------------------------------
//  Startnummer auslesen
//------------------------------------------------------------------------------   
     $result = @mysql_query("SELECT 
                                  10km,
                                  5km,
                                  walking,
                                  nordic_walking,
                                  bambinilauf 
                            FROM anmeldung_hopfenlauf_startnr ");
                                  
  while ( $row = mysql_fetch_array($result) ) {

               $_10km = $row["10km"];
               $_5km = $row["5km"];
               $walking = $row["walking"];   
               $nordic_walking = $row["nordic_walking"];
               $bambinilauf = $row["bambinilauf"];
               }
//------------------------------------------------------------------------------   
   
#Check user input
	$noerrors = true;
	$msg = '';
	
	if ($_POST['zahl'] <> $_POST['ergebnis']) {
		$noerrors = false;
		echo'<br>Bitte Rechnen sie richtig!<br/>';
	}		
  if ($_POST['wettb_nr'] == 'error') {
		$noerrors = false;
		echo'Bitte wählen sie einen Lauf aus!<br/>';
	}	
	if ($_POST['name'] == '') {
		$noerrors = false;
		echo'Bitte geben Sie Ihren Namen ein!<br/>';
	}
	if ($_POST['vorname'] == '') {
		$noerrors = false;
		echo'Bitte geben Sie Ihren Vornamen ein!<br/>';
	}
	if ($_POST['email'] == '') {
		$noerrors = false;
		echo'Bitte geben Sie Ihre eMail ein!<br/>';
	}	
  if ($_POST['jg'] == '') {
		$noerrors = false;
		echo'Bitte geben Sie Ihren Jahrgang ein!<br/>';
	}
	
	// wenn alles OK Daten in Datenbank eintragen
		if ($noerrors == true) {
		
		
    $chip_nr = $_POST['chip_nr'];
    $start_nr = $_POST['start_nr'];
    $name = $_POST['name'];
    $vorname = $_POST['vorname'];
    $jg = $_POST['jg'];
    $m_w = $_POST['m_w'];
    $lv = $_POST['lv'];
    $ver_nr = $_POST['ver_nr'];
    $verein_ort = $_POST['verein_ort'];
    $ak = $_POST['ak'];
    $wettb_nr = $_POST['wettb_nr'];
    $wert_gr = $_POST['wert_gr'];
    $strasse = $_POST['strasse'];
    $plz = $_POST['plz'];
    $ort = $_POST['ort'];
    $mail_post = $_POST['email'];
    $anmerkung = $_POST['anmerkung'];

//------------------------------------------------------------------------------
// Sartnummer ermitteln und speichern für Eintrag
//------------------------------------------------------------------------------
  if ($wettb_nr == 1 ){
    $start_nr = $_10km;   
      $_10km++;
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 2 ){
    $start_nr = $_5km;      
      $_5km++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 3 ){
    $start_nr = $walking;      
      $walking++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 4 ){
    $start_nr = $nordic_walking;      
      $nordic_walking++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 5 ){
    $start_nr = $bambinilauf;      
      $bambinilauf++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  
//------------------------------------------------------------------------------
// In Datenbank Speichern
//------------------------------------------------------------------------------
        $sql = "INSERT INTO
          anmeldung_hopfenlauf
            SET 
                chip_nr = '$chip_nr',
                start_nr = '$start_nr',
                name = '$name',
                vorname = '$vorname',
                jg = '$jg',
                m_w = '$m_w',
                lv = '$lv',
                ver_nr = '$ver_nr',
                verein_ort = '$verein_ort',
                ak = '$ak',
                wettb_nr = '$wettb_nr',
                wert_gr = '$wert_gr'";
$result = mysql_query ( $sql );

        $sql = "INSERT INTO
          anmeldung_hopfenlauf_adress
            SET 
                start_nr = '$start_nr',
                lauf  = '$wettb_nr',
                vorname  = '$vorname',
                nachname  = '$name',
                jg  = '$jg',
                m_w  = '$m_w',
                verein_ort  = '$verein_ort',
                strasse = '$strasse',
                plz = '$plz',
                ort = '$ort',
                mail = '$mail_post',
                anmerkung = '$anmerkung'";
$result = mysql_query ( $sql );
        echo"Wir bedanken uns für die Anmeldung<br>beim Hopfenlauf in Nagold Hochdorf<br><br> Sie haben eine Bestätigungs eMail bekommen <br>";  
        echo"<br>mailadresse = $mail_post";
        $anmeldug = true;
        
//------------------------------------------------------------------------------

		#No errors, create and send mail
		$mail = new phpmailer;
		$mail_body = '<html><head></head><body bgcolor="#ffffff"><table cellspacing="0" cellpadding="2" border="0">';
		
		                  if($wettb_nr==1){$laufname = "10 km";}
                  elseif($wettb_nr==2){$laufname = "5 km";}
                  elseif($wettb_nr==3){$laufname = "Walking / Nordic Walking";}
                  elseif($wettb_nr==4){$laufname = "Schüler";}
                  elseif($wettb_nr==5){$laufname = "Bambinlauf";}

					$mail_body .= "<tr><td>Name</td><td>$name</td></tr>";
					$mail_body .= "<tr><td>Vorname</td><td>$vorname</td></tr>";
					$mail_body .= "<tr><td>Strasse</td><td>$strasse</td></tr>";
					$mail_body .= "<tr><td>PLZ</td><td>$plz</td></tr>";
					$mail_body .= "<tr><td>Ort</td><td>$ort</td></tr>";
					$mail_body .= "<tr><td>Jahrgang</td><td>$jg</td></tr>";
					$mail_body .= "<tr><td>M/W</td><td>$m_w</td></tr>";
					$mail_body .= "<tr><td>Verein/Ort</td><td>$verein_ort</td></tr>";
					$mail_body .= "<tr><td>Lauf</td><td>$laufname</td></tr>";
					$mail_body .= "<tr><td>Mail-Adresse</td><td>$mail_post</td></tr>";
					$mail_body .= "<tr><td>Anmerkung</td><td>$anmerkung</td></tr>";
    
		$mail_body .= '</table></bo'.'dy></html>';
		$mail->Host = "localhost";
		$mail->IsHTML(true);

		#Get mailer from settings
				$mail->IsSendmail();
				
		$mail->From = "Vfl Hochdorf";
		$mail->FromName = "Hopfenlauf";
		$mail->AddAddress($mail_post,"");
		$mail->Subject = "Anmeldung Hopfenlauf";
		$mail->Body = $mail_body;
		$mail->WordWrap = 50;
		$mail->Send();
//------------------------------------------------------------------------------
        
        }
}
//------------------------------------------------------------------------------
// Anmeldeformular anzeigen
//------------------------------------------------------------------------------
if ($anmeldug == false){

$zahl1 = rand(1, 10);
$zahl2 = rand(1, 10);
$ergebnis = ($zahl1 + $zahl2);

 echo'	<form action="';$url; echo'" method="post" style="padding:0;margin:0;" name="changebeschreibung" id="changebeschreibung"}>
             <input type="hidden" name="action" value="save" >
             <input type="hidden" name="ergebnis" value=" ';echo $ergebnis;echo'" >';

echo' <table width="500" border="0" cellpadding="6" cellspacing="3" >
    <tr>
      <td><span class="Stil2">Lauf:</span></td>
      <td>
	  	<select name="wettb_nr" id="wettb_nr">
			<option value="error" selected>--- bitte auswählen ---</option>
			<option value="1" >Hauptlauf 10Km</option>
			<option value="2" >Kurzstrecke 5Km</option>
			<option value="3" >Walking / Nordic Walking</option>
			<option value="4" >Schüler</option>
			<option value="5" >Bambinilauf</option>
	  </select></td>
	  
    </tr>
    <tr>
      <td><span class="Stil2">Vorname:</span></td>
      <td><input name="vorname" type="text" id="vorname" size="20" maxlength="60" value=""></td>
    </tr>
    <tr>
      <td><span class="Stil2">Nachname:</span></td>
      <td><input name="name" type="text" id="name" size="20" maxlength="60" value=""></td>

    </tr>
    <tr>
      <td><span class="Stil2">Jahrgang:</span></td>
      <td><input name="jg" type="text" id="jg" size="4" maxlength="4" value=""> 
      (vierstellig, z.B. 1968) </td>
    </tr>
    <tr>
      <td><span class="Stil2">Geschlecht:</span></td>
      <td><select name="m_w" id="m_w">
        <option value="m" selected>m&auml;nnlich</option>
        <option value="w" >weiblich</option>
      </select></td>
    </tr>
    <tr>
      <td><span class="Stil1">Verein oder Wohnort:</span></td>
      <td><input name="verein_ort" type="text" id="verein_ort" size="40" maxlength="255" value=""></td>
    </tr>
    <tr>
      <td><span class="Stil1">Strasse:</span></td>
      <td><input name="strasse" type="text" id="strasse" size="20" maxlength="80" value=""></td>
    </tr>
    <tr>
      <td><span class="Stil1">PLZ, Ort:</span></td>
      <td><input name="plz" type="text" id="plz" size="5" maxlength="8" value="">
      <input name="ort" type="text" id="ort" size="20" maxlength="255" value=""></td>
    </tr>
    <tr>
      <td><span class="Stil1">E-Mail:</span></td>
      <td><input name="email" type="text" id="email" size="30" maxlength="255" value=""></td>
    </tr>
    <tr>
      <td><span class="Stil1">Anmerkungen:</span></td>
      <td><textarea name="anmerkung" cols="40" rows="5"></textarea></td>
    </tr>    
    <tr>
      <td><span class="Stil1">Ergebniss Bitte eintragen:<br>'; echo $zahl1; echo' + '; echo $zahl2; echo' = '; echo'</span></td>
      <td><input name="zahl" type="text" id="zahl" size="2" maxlength="2" value=""></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="submit" value="Jetzt anmelden!"></td>
    </tr>
  </table>
';
}
?>
Im Edit-Modus im Backend bearbeiten und neue Datensätze anlegen.

Code: Alles auswählen

      <?php
    /***********************************************
    * CONTENIDO MODUL - OUTPUT
    *
    * Modulname    :    Starterliste Ausgabe und Bearbeitung
    * Author(s)    :    PHP0815
    * Erstellt     :    09-08-2009    
    ************************************************/

cInclude("classes", "class.phpmailer.php");
cInclude("classes", "class.frontend.users.php");

    $next_url = "front_content.php?&client=$client&lang=$lang&idartlang=$idartlang&idart=$idart&idcat=$idcat&contenido=" . $sess->id;

    $dbConnect = new DB_Contenido;

    $sort = $_GET['sort'];
    $alpha = $_GET['alpha'];
//------------------------------------------------------------------------------
//  Startnummer auslesen
//------------------------------------------------------------------------------   
     $result = @mysql_query("SELECT 
                                  10km,
                                  5km,
                                  walking,
                                  nordic_walking,
                                  bambinilauf 
                            FROM anmeldung_hopfenlauf_startnr ");
                                  
  while ( $row = mysql_fetch_array($result) ) {

               $_10km = $row["10km"];
               $_5km = $row["5km"];
               $walking = $row["walking"];   
               $nordic_walking = $row["nordic_walking"];
               $bambinilauf = $row["bambinilauf"];
               }

//------------------------------------------------------------------------------
// Editformular anzeigen nur wenn es noch nicht angezeigt wurde
//------------------------------------------------------------------------------
 if (!$_POST["send"] == "send") {
if ($edit && !empty($_GET['action']) && ($_GET['action']=='insert' || $_GET['action']=='edit'))
{
if ($edit && !empty($_GET['action']) && $_GET['action']=='edit')
{
  $st_nummer=$_GET['id'];

  $result = @mysql_query("SELECT 
                              start_nr,
                              lauf, 
                              vorname, 
                              nachname, 
                              jg, 
                              m_w, 
                              verein_ort, 
                              strasse, 
                              plz, 
                              ort, 
                              mail, 
                              anmerkung 
                        FROM anmeldung_hopfenlauf_adress 
                          WHERE start_nr = $st_nummer ");
                                  
  while ( $row = mysql_fetch_array($result) ) {

               $start_nr = $row["start_nr"];
               $lauf = $row["lauf"];
               $vorname = $row["vorname"];   
               $nachname = $row["nachname"];
               $jg = $row["jg"];
               $m_w = $row["m_w"];
               $verein_ort = $row["verein_ort"];
               $strasse = $row["strasse"];
               $plz = $row["plz"];
               $ort = $row["ort"];
               $mail = $row["mail"];
               $anmerkung = $row["anmerkung"];
               }

  $result = @mysql_query("SELECT 
                              chip_nr,
                              start_nr,
                              name, 
                              vorname, 
                              jg, 
                              m_w, 
                              lv, 
                              ver_nr, 
                              verein_ort, 
                              ak, 
                              wettb_nr, 
                              wert_gr
                        FROM anmeldung_hopfenlauf
                          WHERE start_nr = $st_nummer ");
                        
  while ( $row = mysql_fetch_array($result) ) {

               $chip_nr = $row["chip_nr"];
               $start_nr = $row["start_nr"];
               $name = $row["name"];   
               $vorname = $row["vorname"];
               $jg = $row["jg"];
               $m_w = $row["m_w"];
               $lv = $row["lv"];
               $ver_nr = $row["ver_nr"];
               $verein_ort = $row["verein_ort"];
               $ak = $row["ak"];
               $wettb_nr = $row["wettb_nr"];
               $wert_gr = $row["wert_gr"];
               }
}               
//------------------------------------------------------------------------------
// Formular anzeigen für bearbeiten oder vom Admin neu eintragen
//------------------------------------------------------------------------------
 echo'	<form action="';$next_url; echo'" method="post" style="padding:0;margin:0;" name="changebeschreibung" id="changebeschreibung"}>';
         
             echo'<input type="hidden" name="send" value="send" >';
             
          if ($edit && !empty($_GET['action']) && $_GET['action']=='edit')
          {
             echo'<input type="hidden" name="action" value="edit" >';
          }         
          if ($edit && !empty($_GET['action']) && $_GET['action']=='insert')
          {
             echo'<input type="hidden" name="action" value="insert" >';
          }
echo' <table width="500" border="0" cellpadding="6" cellspacing="3" >
    <tr>
      <td><span class="Stil2">Lauf:</span></td>
      <td>
	  	<select name="wettb_nr" id="wettb_nr">
			<option value="error" selected>--- bitte auswählen ---</option>
			<option value="1" '; if($lauf == "1") echo "selected"; echo' >Hauptlauf 10Km</option>
			<option value="2" '; if($lauf == "2") echo "selected"; echo' >Kurzstrecke 5Km</option>
			<option value="3" '; if($lauf == "3") echo "selected"; echo' >Walking</option>
			<option value="4" '; if($lauf == "4") echo "selected"; echo' >Nordic Walking</option>
			<option value="5" '; if($lauf == "5") echo "selected"; echo' >Bambinilauf</option>
	  </select></td>
	  
    </tr>
    <tr>
      <td><span class="Stil2">Chip-Nr:</span></td>
      <td><input name="chip_nr" type="text" id="chip_nr" size="20" maxlength="60" value="';echo $chip_nr;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil2">Start-Nr:</span></td>
      <td><input name="start_nr" type="text" id="start_nr" size="20" maxlength="60" value="';echo $start_nr;echo'">';
    echo'</td>
    </tr>
    <tr>
      <td><span class="Stil2">Vorname:</span></td>
      <td><input name="vorname" type="text" id="vorname" size="20" maxlength="60" value="';echo $vorname;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil2">Nachname:</span></td>
      <td><input name="name" type="text" id="name" size="20" maxlength="60" value="';echo $nachname;echo'"></td>

    </tr>
    <tr>
      <td><span class="Stil2">Jahrgang:</span></td>
      <td><input name="jg" type="text" id="jg" size="4" maxlength="4" value="';echo $jg;echo'"> 
      (vierstellig, z.B. 1968) </td>
    </tr>
    <tr>
      <td><span class="Stil2">Geschlecht:</span></td>
      <td><select name="m_w" id="m_w">
        <option value="m" '; if($m_w == "m") echo "selected"; echo' >m&auml;nnlich</option>
        <option value="w" '; if($m_w == "w") echo "selected"; echo' >weiblich</option>
      </select></td>
    </tr>
    <tr>
      <td><span class="Stil1">Verein oder Wohnort:</span></td>
      <td><input name="verein_ort" type="text" id="verein_ort" size="40" maxlength="255" value="';echo $verein_ort;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">lv:</span></td>
      <td><input name="lv" type="text" id="lv" size="40" maxlength="255" value="';echo $lv;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">ver_nr:</span></td>
      <td><input name="ver_nr" type="text" id="ver_nr" size="40" maxlength="255" value="';echo $ver_nr;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">ak:</span></td>
      <td><input name="ak" type="text" id="ak" size="40" maxlength="255" value="';echo $ak;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">wert_gr:</span></td>
      <td><input name="wert_gr" type="text" id="wert_gr" size="40" maxlength="255" value="';echo $wert_gr;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">Strasse:</span></td>
      <td><input name="strasse" type="text" id="strasse" size="20" maxlength="80" value="';echo $strasse;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">PLZ, Ort:</span></td>
      <td><input name="plz" type="text" id="plz" size="5" maxlength="8" value="';echo $plz;echo'">
      <input name="ort" type="text" id="ort" size="20" maxlength="255" value="';echo $ort;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">E-Mail:</span></td>
      <td><input name="email" type="text" id="email" size="30" maxlength="255" value="';echo $mail;echo'"></td>
    </tr>
    <tr>
      <td><span class="Stil1">Anmerkungen:</span></td>
      <td><textarea name="anmerkung" cols="40" rows="5">';echo $anmerkung;echo'</textarea></td>
    </tr>
    <tr>
      <td>&nbsp;</td>';
          if ($edit && !empty($_GET['action']) && $_GET['action']=='edit')
          {
           echo'<td><input type="submit" name="submit" value="Ändern!"></td>';
          }         
          if ($edit && !empty($_GET['action']) && $_GET['action']=='insert')
          {
            echo'<td><input type="submit" name="submit" value="Speichern!"></td>';
          }
    echo'</tr>
  </table>';
}
}
//------------------------------------------------------------------------------
// Daten vom Formular übernehmen
//------------------------------------------------------------------------------

    $chip_nr = $_POST['chip_nr'];
    $start_nr = $_POST['start_nr'];
    $name = $_POST['name'];
    $vorname = $_POST['vorname'];
    $jg = $_POST['jg'];
    $m_w = $_POST['m_w'];
    $lv = $_POST['lv'];
    $ver_nr = $_POST['ver_nr'];
    $verein_ort = $_POST['verein_ort'];
    $ak = $_POST['ak'];
    $wettb_nr = $_POST['wettb_nr'];
    $wert_gr = $_POST['wert_gr'];
    $strasse = $_POST['strasse'];
    $plz = $_POST['plz'];
    $ort = $_POST['ort'];
    $mail_post = $_POST['email'];
    $anmerkung = $_POST['anmerkung'];

//------------------------------------------------------------------------------
// Update Datenbank 
//------------------------------------------------------------------------------
 if ($_POST["action"] == "edit") {  
        $sql_1 = "UPDATE
          anmeldung_hopfenlauf
            SET 
                chip_nr = '$chip_nr',
                start_nr = '$start_nr',
                name = '$name',
                vorname = '$vorname',
                jg = '$jg',
                m_w = '$m_w',
                lv = '$lv',
                ver_nr = '$ver_nr',
                verein_ort = '$verein_ort',
                ak = '$ak',
                wettb_nr = '$wettb_nr',
                wert_gr = '$wert_gr'
            WHERE start_nr = '$start_nr'
                ";
$result_1 = mysql_query ( $sql_1 );

        $sql_2 = "UPDATE
          anmeldung_hopfenlauf_adress
            SET 
                start_nr = '$start_nr',
                lauf  = '$wettb_nr',
                vorname  = '$vorname',
                nachname  = '$name',
                jg  = '$jg',
                m_w  = '$m_w',
                verein_ort  = '$verein_ort',
                strasse = '$strasse',
                plz = '$plz',
                ort = '$ort',
                mail = '$mail_post',
                anmerkung = '$anmerkung'
          WHERE start_nr = '$start_nr'";
$result_2 = mysql_query ( $sql_2 );

} // if ($_POST["action"] == "save")

//------------------------------------------------------------------------------
// Sartnummer ermitteln und speichern für Eintrag
//------------------------------------------------------------------------------
if ($_POST["action"] == "insert"){
 if ($wettb_nr == 1 ){
    $start_nr = $_10km;   
      $_10km++;
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 2 ){
    $start_nr = $_5km;      
      $_5km++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 3 ){
    $start_nr = $walking;      
      $walking++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 4 ){
    $start_nr = $nordic_walking;      
      $nordic_walking++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }
  elseif ($wettb_nr == 5 ){
    $start_nr = $bambinilauf;      
      $bambinilauf++; 
      $sql = "UPDATE anmeldung_hopfenlauf_startnr SET
                          10km = '$_10km',
                          5km = '$_5km',
                          walking = '$walking',
                          nordic_walking = '$nordic_walking',
                          bambinilauf = '$bambinilauf'
                  WHERE id = 1";
$result = mysql_query ( $sql );
  }

//------------------------------------------------------------------------------
// Eintrag Datenbank
//------------------------------------------------------------------------------   
/* 
    echo"<br>chip_nr $chip_nr"; 
    echo"<br>start_nr $start_nr"; 
    echo"<br>name $name"; 
    echo"<br>vorname $vorname"; 
    echo"<br>jg $jg"; 
    echo"<br>m_w $m_w"; 
    echo"<br>lv $lv"; 
    echo"<br>ver_nr $ver_nr"; 
    echo"<br>$verein_ort $verein_ort"; 
    echo"<br>ak $ak"; 
    echo"<br>wettb_nr $wettb_nr"; 
    echo"<br>wert_gr $wert_gr"; 
    echo"<br>strasse $strasse"; 
    echo"<br>plz $plz"; 
    echo"<br>ort $ort"; 
    echo"<br>email $mail_post"; 
    echo"<br>anmerkung $anmerkung"; 
*/  
        $sql_3 = "INSERT INTO
          anmeldung_hopfenlauf
            SET 
                chip_nr = '$chip_nr',
                start_nr = '$start_nr',
                name = '$name',
                vorname = '$vorname',
                jg = '$jg',
                m_w = '$m_w',
                lv = '$lv',
                ver_nr = '$ver_nr',
                verein_ort = '$verein_ort',
                ak = '$ak',
                wettb_nr = '$wettb_nr',
                wert_gr = '$wert_gr'";
$result_3 = mysql_query ( $sql_3 );

        $sql_4 = "INSERT INTO
          anmeldung_hopfenlauf_adress
            SET 
                start_nr = '$start_nr',
                lauf  = '$wettb_nr',
                vorname  = '$vorname',
                nachname  = '$name',
                jg  = '$jg',
                m_w  = '$m_w',
                verein_ort  = '$verein_ort',
                strasse = '$strasse',
                plz = '$plz',
                ort = '$ort',
                mail = '$mail_post',
                anmerkung = '$anmerkung'";
$result_4 = mysql_query ( $sql_4 );

        echo"Wir bedanken uns für die Anmeldung<br>beim Hopfenlauf in Nagold Hochdorf<br><br> Sie haben eine Bestätigungs eMail bekommen <br>";  
        echo"<br>mailadresse = $mail_post";
        $anmeldug = true;
}
//------------------------------------------------------------------------------
//Eintrag aus DB löschen
//------------------------------------------------------------------------------
if ($edit && !empty($_GET['action']) && $_GET['action']=='delete')
{
echo "Eintrag aus DB löschen";
                $st_nummer=$_GET['id'];
                $result = @mysql_query("DELETE FROM anmeldung_hopfenlauf_adress WHERE start_nr = $st_nummer "); 
                $result = @mysql_query("DELETE FROM anmeldung_hopfenlauf WHERE start_nr = $st_nummer "); 
}
//------------------------------------------------------------------------------
// Daten ausgeben und gegebenfalls zum Bearbeiten freigeben
//------------------------------------------------------------------------------
    echo "<table align=\"left\" class=\"text\" width=\"100%\" cellspacing=1 cellpadding=2 bgcolor=\"#CCCCCC\">";
               
        echo "<tr bgcolor=\"E2E2E2\" onMouseOver=this.style.backgroundColor=\"#E2EDD7\"; 
        onMouseOut=this.style.backgroundColor=\"#E2E2E2\"; valign=\"top\">";
        
        if ($edit){echo "<td> Chip-Nr </td>";}
        if ($edit){echo "<td> Startnummer </td>";}
        echo "<td> Lauf </td>";
        echo "<td> Vorname </td>";
        echo "<td> Nachname </td>";
        echo "<td> Jg </td>";
        echo "<td> M/W </td>";
        if ($edit){echo "<td> AK </td>";}
        echo "<td> Verein </td>";
        if ($edit){echo "<td> Strasse </td>";}
        if ($edit){echo "<td> PLZ </td>";}
        echo "<td> Ort </td>";
        if ($edit){echo "<td> LV </td>";}
        if ($edit){echo "<td> Ver-Nr </td>";}
        if ($edit){echo "<td> Wettb-Nr. </td>";}
        if ($edit){echo "<td> Wert-Gr. </td>";}
        if ($edit){echo "<td> eMail </td>";}
        if ($edit){echo "<td> Anmerkung </td>";}
        
        if ($edit)
        {
        echo '<td><a href="'.$next_url.'&action=insert">
                  <img src="'. $cfg['path']['contenido_fullhtml'] . '/images/users_add.gif" title="'.mi18n("Neu!").'" alt="'.mi18n("Neu!").'" border="0"></a></td></tr>';
        }
        echo "</tr>\n";
 

        $result = @mysql_query("SELECT 
                                start_nr, 
                                lauf, 
                                vorname, 
                                nachname, 
                                jg, 
                                m_w, 
                                verein_ort, 
                                strasse, 
                                plz, 
                                ort, 
                                mail, 
                                anmerkung 
                            FROM anmeldung_hopfenlauf_adress 
                            ORDER BY nachname");
       
        
    while ( $row = mysql_fetch_array($result) ) {

               $start_nr = $row["start_nr"];
               $lauf = $row["lauf"];
               $vorname = $row["vorname"];   
               $nachname = $row["nachname"];
               $jg = $row["jg"];
               $m_w = $row["m_w"];
               $verein_ort = $row["verein_ort"];
               $strasse = $row["strasse"];
               $plz = $row["plz"];
               $ort = $row["ort"];
               $mail = $row["mail"];
               $anmerkung = $row["anmerkung"];
             
  $sql_5 = @mysql_query("SELECT 
                chip_nr,
                start_nr,
                name,
                vorname,
                jg,
                m_w,
                lv,
                ver_nr,
                verein_ort,
                ak,
                wettb_nr,
                wert_gr
              FROM anmeldung_hopfenlauf WHERE start_nr = $start_nr");

// if (!$sql_5) { echo("<p>Fehler bei der Ausf&uuml;hrung der Abfrage: " . mysql_error() . "</p>");}

    while ( $row1 = mysql_fetch_array($sql_5) ) {

               $chip_nr = $row1["chip_nr"];
               $start_nr = $row1["start_nr"];
               $name = $row1["name"];   
               $vorname = $row1["vorname"];
               $jg = $row1["jg"];
               $m_w = $row1["m_w"];
               $lv = $row1["lv"];
               $ver_nr = $row1["ver_nr"];
               $verein_ort = $row1["verein_ort"];
               $ak = $row1["ak"];
               $wettb_nr = $row1["wettb_nr"];
               $wert_gr = $row1["wert_gr"];
     }  

                  if($lauf==1){$laufname = "10 km";}
                  elseif($lauf==2){$laufname = "5 km";}
                  elseif($lauf==3){$laufname = "Walking / Nordic Walking";}
                  elseif($lauf==4){$laufname = "Schüler";}
                  elseif($lauf==5){$laufname = "Bambinlauf";}

        echo "<tr bgcolor=\"E2E2E2\" onMouseOver=this.style.backgroundColor=\"#E2EDD7\"; onMouseOut=this.style.backgroundColor=\"#E2E2E2\"; valign=\"top\">";
        if ($edit){echo "<td> " . $chip_nr . "</td>";}
        if ($edit){echo "<td> " . $start_nr . "</td>";}
        echo "<td><nobr>" . $laufname . "</td>";
        echo "<td> " . $vorname . "</td>";
        echo "<td> " . $nachname ."</nobr></td>";  
        echo "<td>" . $jg ."</td>";
        echo "<td>" . $m_w ."</td>";
        if ($edit){echo "<td> " . $ak . "</td>";}
        echo "<td>". $verein_ort . "</td>";
        if ($edit){echo "<td> " . $strasse . "</td>";}
        if ($edit){echo "<td> " . $plz . "</td>";}
        echo "<td>". $ort . "</td>";
        if ($edit){echo "<td> " . $lv . "</td>";}
        if ($edit){echo "<td> " . $ver_nr . "</td>";}
        if ($edit){echo "<td> " . $wettb_nr . "</td>";}
        if ($edit){echo "<td> " . $wert_gr . "</td>";}
        if ($edit){echo "<td> " . $mail . "</td>";}
        if ($edit){echo "<td> " . $anmerkung . "</td>";}  




//------------------------------------------------------------------------------
//  Ausgabe für Backend Bearbeiten
//------------------------------------------------------------------------------
        if ($edit)
        { 
         echo '<td><a onClick="return confirm(\''.mi18n("Wollen Sie wirklich Löschen?").'\');" href="'.$next_url.'&action=delete&id='.$start_nr.'">
                  <img src="'. $cfg['path']['contenido_fullhtml'] . '/images/delete.gif" title="'.mi18n("Löschen!").'" alt="'.mi18n("Löschen!").'" border="0"></a></td>';
         echo '<td><a href="'.$next_url.'&action=edit&id='.$start_nr.'">
                  <img src="'. $cfg['path']['contenido_fullhtml'] . '/images/but_edit.gif" title="'.mi18n("Edit!").'" alt="'.mi18n("Edit!").'" border="0"></a></td></tr>';
 
       }
}
    echo "</table>";

    ?>
Die Datenbanken

Code: Alles auswählen

CREATE TABLE `anmeldung_hopfenlauf` (
  `chip_nr` varchar(10) collate latin1_general_ci NOT NULL default '',
  `start_nr` varchar(5) collate latin1_general_ci NOT NULL default '',
  `name` varchar(25) collate latin1_general_ci NOT NULL default '',
  `vorname` varchar(25) collate latin1_general_ci NOT NULL default '',
  `jg` varchar(4) collate latin1_general_ci NOT NULL default '',
  `m_w` char(2) collate latin1_general_ci NOT NULL default '',
  `lv` varchar(40) collate latin1_general_ci NOT NULL default '',
  `ver_nr` varchar(10) collate latin1_general_ci NOT NULL default '',
  `verein_ort` varchar(40) collate latin1_general_ci NOT NULL default '',
  `ak` varchar(20) collate latin1_general_ci NOT NULL default '',
  `wettb_nr` varchar(40) collate latin1_general_ci NOT NULL default '',
  `wert_gr` varchar(40) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Code: Alles auswählen

CREATE TABLE `anmeldung_hopfenlauf_adress` (
  `start_nr` varchar(10) collate latin1_general_ci NOT NULL,
  `lauf` varchar(20) collate latin1_general_ci NOT NULL default '',
  `vorname` varchar(255) collate latin1_general_ci NOT NULL default '',
  `nachname` varchar(255) collate latin1_general_ci NOT NULL default '',
  `jg` varchar(5) collate latin1_general_ci NOT NULL default '',
  `m_w` varchar(5) collate latin1_general_ci NOT NULL default '',
  `verein_ort` varchar(255) collate latin1_general_ci NOT NULL default '',
  `strasse` varchar(255) collate latin1_general_ci NOT NULL default '',
  `plz` varchar(8) collate latin1_general_ci NOT NULL default '',
  `ort` varchar(255) collate latin1_general_ci NOT NULL default '',
  `mail` varchar(255) collate latin1_general_ci NOT NULL default '',
  `anmerkung` varchar(255) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`lauf`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Code: Alles auswählen

CREATE TABLE `anmeldung_hopfenlauf_startnr` (
  `id` int(20) NOT NULL default '0',
  `10km` int(20) NOT NULL default '0',
  `5km` int(20) NOT NULL default '0',
  `walking` int(20) NOT NULL default '0',
  `nordic_walking` int(20) NOT NULL default '0',
  `bambinilauf` int(20) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

-- 
-- Daten für Tabelle `anmeldung_hopfenlauf_startnr`
-- 

INSERT INTO `anmeldung_hopfenlauf_startnr` VALUES (1, 103, 303, 402, 501, 602);

Re: Teilnehmer Mitglieder Liste für Frontend und Backend

Verfasst: Di 11. Aug 2009, 10:58
von Oldperl
Hallo php0815,

ein interessantes Modul das ich mir auf alle Fälle noch etwas genauer anschauen werde. :)

Beim Überfliegen sind mir aber 2 Sachen direkt aufgefallen.
  1. Inkonsistente Nutzung der DB-Schnittstelle.
    So wird z.B. zu Beginn des Outputs ein DB-Objekt erstellt ($dbConnect), das im weiteren Verlauf überhaupt nicht genutzt wird. Für das Eintragen im Frontend wird dann ein anderes Objekt verwendet ($db2) und für die Admineinträge im BE wird direkt über die PHP-MySQL-Funktionen auf die DB zugegriffen (@mysql_query("SELECT...).
    Hier könnte man auch durchgängig auf die Contenido DB-Klasse zugreifen.
  2. Per Formular übergebene Daten werden nicht geprüft.
    Dies ist, gerade im Frontend, ein großes "Scheunentor" durch das man auf die DB Zugriff bekommen kann. Du solltest alle von "Ausen" kommenden Variablen hin zur DB entweder mit der Contenido-Security-Class prüfen, bzw., falls dieses Modul nur für die 4.6er Version sein soll, zumindest mit den PHP-eigenen MySQL-Escapefunktionen prüfen/absichern.

    Code: Alles auswählen

    //------------------------------------------------------------------------------
        // Daten vom Formular übernehmen
        //------------------------------------------------------------------------------
    
            $chip_nr = $_POST['chip_nr'];
            $start_nr = $_POST['start_nr'];
            $name = $_POST['name'];
            $vorname = $_POST['vorname'];
            $jg = $_POST['jg'];
            $m_w = $_POST['m_w'];
            $lv = $_POST['lv'];
            $ver_nr = $_POST['ver_nr'];
            $verein_ort = $_POST['verein_ort'];
            $ak = $_POST['ak'];
            $wettb_nr = $_POST['wettb_nr'];
            $wert_gr = $_POST['wert_gr'];
            $strasse = $_POST['strasse'];
            $plz = $_POST['plz'];
            $ort = $_POST['ort'];
            $mail_post = $_POST['email'];
            $anmerkung = $_POST['anmerkung'];
    
        //------------------------------------------------------------------------------
        // Update Datenbank
        //------------------------------------------------------------------------------
        if ($_POST["action"] == "edit") { 
                $sql_1 = "UPDATE
                  anmeldung_hopfenlauf
                    SET
                        chip_nr = '$chip_nr',
                        start_nr = '$start_nr',
                        name = '$name',
                        vorname = '$vorname',
                        jg = '$jg',
                        m_w = '$m_w',
                        lv = '$lv',
                        ver_nr = '$ver_nr',
                        verein_ort = '$verein_ort',
                        ak = '$ak',
                        wettb_nr = '$wettb_nr',
                        wert_gr = '$wert_gr'
                    WHERE start_nr = '$start_nr'
                        ";
        $result_1 = mysql_query ( $sql_1 );
    
                $sql_2 = "UPDATE
                  anmeldung_hopfenlauf_adress
                    SET
                        start_nr = '$start_nr',
                        lauf  = '$wettb_nr',
                        vorname  = '$vorname',
                        nachname  = '$name',
                        jg  = '$jg',
                        m_w  = '$m_w',
                        verein_ort  = '$verein_ort',
                        strasse = '$strasse',
                        plz = '$plz',
                        ort = '$ort',
                        mail = '$mail_post',
                        anmerkung = '$anmerkung'
                  WHERE start_nr = '$start_nr'";
        $result_2 = mysql_query ( $sql_2 );
    
        } // if ($_POST["action"] == "save")
Gruß aus Franken

Ortwin

Re: Teilnehmer Mitglieder Liste für Frontend und Backend

Verfasst: Di 11. Aug 2009, 12:30
von php0815
Oldperl hat geschrieben:Hallo php0815,

ein interessantes Modul das ich mir auf alle Fälle noch etwas genauer anschauen werde. :)

Beim Überfliegen sind mir aber 2 Sachen direkt aufgefallen.
  1. Inkonsistente Nutzung der DB-Schnittstelle.
    So wird z.B. zu Beginn des Outputs ein DB-Objekt erstellt ($dbConnect), das im weiteren Verlauf überhaupt nicht genutzt wird. Für das Eintragen im Frontend wird dann ein anderes Objekt verwendet ($db2) und für die Admineinträge im BE wird direkt über die PHP-MySQL-Funktionen auf die DB zugegriffen (@mysql_query("SELECT...).
    Hier könnte man auch durchgängig auf die Contenido DB-Klasse zugreifen.
Die Contenido DB-Klasse habe ich mit Absicht nicht genommen da ich den Code auch auf einer anderen Plattform verwenden will.
($dbConnect) habe ich vergessen zu löschen ist noch von einem anderen Projekt.
Oldperl hat geschrieben:[*]Per Formular übergebene Daten werden nicht geprüft.
Dies ist, gerade im Frontend, ein großes "Scheunentor" durch das man auf die DB Zugriff bekommen kann. Du solltest alle von "Ausen" kommenden Variablen hin zur DB entweder mit der Contenido-Security-Class prüfen, bzw., falls dieses Modul nur für die 4.6er Version sein soll, zumindest mit den PHP-eigenen MySQL-Escapefunktionen prüfen/absichern.[/list]
Da muss ich dir Recht geben. Mein Nick-Name kommt ja nicht von ungefähr. Bin ein Leihe im Programmieren und werde es wohl immer bleiben da ich nur ein paar Wochen im Jahr programmiere.

Danke für die Info.
Gruß php0815