Zur Navigation

Suchformular mit Weiterverarbeitung [2]

11 Jörg

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

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

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

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

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