Zur Navigation

Suchformular mit Weiterverarbeitung [2]

11 Jörg Kruse

Was meinst du mit "Abfragen" - die SQL-Query?

Da der Datentyp des Datenfelds `ID` kein String sondern ein Integer ist, solltest du hier nicht mysql_escape_string() sondern intval() verwenden:

$spieler_id = intval($_POST['spieler_id']);

29.05.2011 12:42

12 tobi

da hab ich mich wohl nicht richtig ausgedrückt, ich meinte den Bereich für die Prüfung von Fehlermeldungen:
if(!isset($_POST['email']) OR empty($_POST['email']))
if(!isset($_POST['verein']) OR empty($_POST['verein']))
if(!isset($_POST['bezirk']) OR empty($_POST['bezirk']))
if(!isset($_POST['spielklasse']) OR empty($_POST['spielklasse']))

29.05.2011 14:41

13 Jörg Kruse

Willst du dort die Fehlermeldungen ausgeben? das musst du jeweils in einem entsprechenden Befehlsblock machen.

!isset() kannst du dir hier übrigens sparen, da es schon in empty() enthalten ist - als leer gelten dort auch nicht gesetzte Variablen.

if (empty($_POST['email'])) {
    echo '<p>Keine Emailadresse angegeben!</p>';
}

29.05.2011 15:54

14 tobi

die Fehlermeldungen sollen quasi nach dem oberen Text und vor dem Formular aufgezeigt werden.

30.05.2011 16:31

15 Jörg Kruse

Ja, dann fügst die Fehlermeldungen oberhalb dem Abschnitt ein, in welchem das Formular ausgegeben wird. Ich versteh das Problem grad nicht?

30.05.2011 21:59

16 tobi

sobald ich beispielsweise

if (empty($_POST['email'])) {
    echo '<p>Keine Emailadresse angegeben!</p>';
}

einfüge, kommt:
Parse error: syntax error, unexpected T_ELSE

31.05.2011 16:29 | geändert: 31.05.2011 16:29

17 Jörg Kruse

Und wie sieht der Abschnitt davor aus? Der gepostete Code erzeugt für sich genommen keine solche Fehlermeldung.

31.05.2011 16:44

18 tobi

echo "D-Klasse: 0000-1350 TTR Punkte<br />";
echo "C-Klasse: 1351-1450 TTR-Punkte<br />";
echo "B-Klasse: 1451-1600 TTR-Punkte<br />";
echo "A-Klasse: 1601-9999 TTR-Punkte</p>";
					
if (isset($_POST['spieler_id'])) 
	{
		$spieler_id = mysql_escape_string($_POST['spieler_id']);
		$today = date("l; d.m.Y H:i:s");
		$eintrag="";
		
		$mysql_query = "
		    SELECT *
		    FROM
		            ttr_rangliste
		    WHERE
		            ID = " . $spieler_id . ";
		    ";
		//echo $mysql_query . "<p>";
		$result = mysql_query($mysql_query);
		$num_rows = mysql_num_rows($result);
		//echo $num_rows ."<p>";
		if ( $num_rows == 1) // Spieler gefunden
			{
			$row = mysql_fetch_assoc($result);
			$ttr = $row['ttr'];
//			if(!isset($_POST['email']) OR empty($_POST['email']))

if (empty($_POST['email'])) {
echo '<p>Keine Emailadresse angegeben!</p>';
}		
			{
			//führt das aus, wenn die mail adresse noch ned angegeben wurde
			echo "Vorname: ". $row['vorname']."<br />";
			echo "Nachname: ". $row['nachname']."<br />";
			echo "Geschlecht: ". $row['geschlecht']."<br />";
			echo "Geburtsjahr: ". $row['geburtsjahr']."<br />";
			echo "Quartals-TTR: ". $ttr."<br />";
			echo "Anzahl Einzel: ". $row['anzahlEinzel']."<br />";
	//		echo "Bezirk: ". $row['bezirk']."<br />";
	//		echo "Verein: ". $row['verein']."<br />";
	//		echo "Altersklasse: ". $row['altersklasse']."<br />";
	//		echo "Spielklasse: ". $row['spielklasse']."<br/ >";
	//		echo "Spielerposition: ". $row['spielposition']."<br />";
		
			if (($row['altersklasse']=='Damen') || ($row['altersklasse']=='Herren')) 
				{
					//TTR Punkte unter 1351 (also 0-1350)
					if ($ttr<1351) {
						echo "Empfohlene Spielklasse: D-Klasse<br />";
						echo "Turniertag: Samstag 10. September 2011<br />";
						}
					//TTR Punkte unter 1451 (also 1351-1450)
					elseif ($ttr<1451) {
						echo "Empfohlene Spielklasse: C-Klasse<br />";
						echo "Turniertag: Sonntag 11. September 2011<br />";
						}
					//TTR Punkte unter 1601 (also 1451-1600)
					elseif ($ttr<1601) {
						echo "Empfohlene Spielklasse: B-Klasse<br />";
						echo "Turniertag: Sonntag 11. September 2011<br />";
						}
					//TTR Punkte über 1601(also 1601-....)
					else {
						echo "Empfohlene Spielklasse: A-Klasse<br /p>";
						echo "Turniertag: Sonntag 11. September 2011<br />";
						}
				}
				elseif ($row['altersklasse']=='') 
				{
						echo "Empfohlene Spielklasse: keine<p>";
				}
				else // Jugend
				{
						echo "Empfohlene Spielklasse: Jugend<br />";
						echo "Turniertag: Samstag 10. September 2011<br />";
				}
				
				//Formular für Zusatzangaben wie E-Mail-Adresse, Mitteilung, etc.	
				echo "<form method=\"post\" action=\"anmeldung_komfort.php\">";
				echo "<table>";
				echo "<tr>\n";
				
				echo "<input type=\"hidden\" name=\"spieler_id\" value=\"" . $_POST['spieler_id'] . "\">";
				echo "<br />";
				echo "<tr>\n";
				echo "<td align=\"left\">Turnierklasse:</td>\n<td align=\"left\">";
				echo "<select name=\"turnierklasse\">\n";
				echo "<option value=\"1\"";if($row['altersklasse']!='' && $row['altersklasse'] != "Herren" && $row['altersklasse'] != "Damen"){echo " selected=selected";} echo ">Jugend - Turniertag 1 - Samstag 10. September 2011</option>";
				echo "<option value=\"2\"";if(($row['altersklasse'] == "Herren" || $row['altersklasse'] == "Damen") && $ttr<1351){echo " selected=selected";} echo ">D-Klasse - Turniertag 1 - Samstag 11. September 2011</option>";
				echo "<option value=\"3\"";if(($row['altersklasse'] == "Herren" || $row['altersklasse'] == "Damen") && $ttr>1350 && $ttr<=1451){echo " selected=selected";} echo ">C-Klasse - Turniertag 2 - Sonntag 11. September 2011</option>";
				echo "<option value=\"4\"";if(($row['altersklasse'] == "Herren" || $row['altersklasse'] == "Damen") && $ttr>1451 && $ttr<=1601){echo " selected=selected";} echo ">B-Klasse - Turniertag 2 - Sonntag 11. September 2011</option>";
				echo "<option value=\"5\"";if(($row['altersklasse'] == "Herren" || $row['altersklasse'] == "Damen") && $ttr>1601){echo " selected=selected";} echo ">A-Klasse - Turniertag 2 - Sonntag 11. September 2011</option>";
				echo "</select>\n";
				echo "</td>";
				echo "</tr>\n";	
				echo "<tr>\n";	
				echo "<td align=\"left\">eMail:</td>\n<td align=\"left\"><input name=\"email\" type=\"text\" id=\"email\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"".$emailx[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\">Verein:</td>\n<td align=\"left\"><input name=\"verein\" type=\"text\" id=\"verein\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"". $row['verein']."".$verein[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\">Bezirk:</td>\n<td align=\"left\"><input name=\"bezirk\" type=\"text\" id=\"bezirk\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"". $row['bezirk']."".$bezirk[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\">Altersklasse:</td>\n<td align=\"left\"><input name=\"altersklasse\" type=\"text\" id=\"altersklasse\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"". $row['altersklasse']."".$altersklasse[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\">Spielklasse:</td>\n<td align=\"left\"><input name=\"spielklasse\" type=\"text\" id=\"spielklasse\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"". $row['spielklasse']."".$spielklasse[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\">Spielerposition:</td>\n<td align=\"left\"><input name=\"spielposition\" type=\"text\" id=\"spielposition\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
				echo " value=\"". $row['spielposition']."".$spielpostion[0]."\"";
				echo "></td>\n";
				echo "</tr>\n";	
				echo "<tr>\n";
				echo "<td align=\"left\" valign=\"top\">Anmerkung:</td>\n<td align=\"left\"><textarea name=\"eintrag\" cols=\"70\" rows=\"7\" id=\"eintrag\" class=\"eingabe\">".$eintrag."</textarea></td>\n";
				echo "</tr>\n";
				echo "</table>";
				echo "<p><input type=\"submit\" value=\"Anmeldung abschließen\" /></form></p>";
			}
			else
			{
				if (($row['altersklasse']=='Damen') || ($row['altersklasse']=='Herren')) 
				{
					//TTR Punkte unter 1351 (also 0-1350)
					if ($ttr<1351) {
						$empfohleneKlasse = 'D-Klasse';
						}
					//TTR Punkte unter 1451 (also 1351-1450)
					elseif ($ttr<1451) {
						$empfohleneKlasse = 'C-Klasse';
						}
					//TTR Punkte unter 1601 (also 1451-1600)
					elseif ($ttr<1601) {
						$empfohleneKlasse = 'B-Klasse';
						}
					//TTR Punkte über 1601(also 1601-....)
					else {
						$empfohleneKlasse = 'A-Klasse';
						}
				}
				elseif ($row['altersklasse']=='') 
				{
						$empfohleneKlasse = '';
				}
				else // Jugend
				{
						$empfohleneKlasse = 'Jugend';
				}
				//wenn die mail adresse vorhanden ist wird das ausgeführt :)
				$mysql_query = 'INSERT INTO `anmeldungen`
				(`vorname`, `nachname`, `geschlecht`, `geburtsjahr`, `ttr`, `anzahlEinzel`, `empfohleneKlasse`, `email`, `verein`, `bezirk`, `altersklasse`, `spielklasse`, `spielposition`, `gemeldeteKlasse`, `anmerkung`, `timestamp`)
				VALUES
				("' . $row['vorname'] . '", "' . $row['nachname'] . '", "' . $row['geschlecht'] . '", "' . $row['geburtsjahr'] . '", "' . $ttr . '", "' . $row['anzahlEinzel'] . '", "' . $empfohleneKlasse . '","' . $_POST['email'] . '", "' . $_POST['verein'] . '", "' . $_POST['bezirk'] . '",  "' . $_POST['altersklasse'] . '", "' . $_POST['spielklasse'] . '", "' . $_POST['spielposition'] . '",  "' . $_POST['turnierklasse'] . '","' . $_POST['eintrag'] . '", NOW())';
				$result = mysql_query($mysql_query);
			
				if($result)
				{
					//Bestätigungsemail an den Anmeldenden
					
					$to = $_POST['email'];
					$subject = 'Bestätigung der Anmeldung zum PPC 2011';
                                        $text = 'blabla
		
					$from = 'From: "'. $row['vorname'] .' '. $row['nachname'] .'"  <'. $_POST['email'] .'> ' . "\n";
					$from .= 'Content-Type: text/html' . "\n";
					if(mail($to, $subject, $text, $from))
					
					
					{
						echo '<p><gruen><b>Die Anmeldung zum PPC 2011 ist bei uns eingegangen!<br />In Ihrem Postfach befindet sich eine Bestätigung der Anmeldung.</b></gruen><br /><br /></p';
					}
					else
					{
						echo 'Anmeldung erfolgreich. Probleme mit Mailversand.';
					}
				}
				else
				{
					die(mysql_error());
				}
			}
		}
		
		else //keine Übereinstimmung
		{
		//Evtl noch Zurück-Link auf erstes Formular einfügen...
		echo "Keine Übereinstimmung oder mehrere... Sehr seltsamer Fehler...";
		echo "<p>Es konnte keine Übereinstimmung gefunden werden. Bitte versuche es erneut --> <a href=\"index.php\">Zurück zur Übersicht</a></p>";
		}
	}
	else
	{
	//Wenn Direktaufruf der Datei, dann Hinweis und Link zu Schritt 1
	echo "<p>Bitte Übersichgtsseite lesen und dann die Anmeldung tätigen --> <a href=\"index.php\">Zurück zur Übersicht</a></p>";
	}
?>

</body>
</html>

31.05.2011 16:52 | geändert: 31.05.2011 16:53

19 Jörg Kruse

Diese Klammer scheint irgendwie über:

if (empty($_POST['email'])) {
echo '<p>Keine Emailadresse angegeben!</p>';
}   
            {

31.05.2011 17:03

20 tobi

mit { kommt:
Parse error: syntax error, unexpected T_ELSE in on line 165

ohne { kommt:
Parse error: syntax error, unexpected '}' in on line 284

31.05.2011 17:29