Problem bei Übergabe der Textarea

Was soll uns das sagen?
Warum sind wohl diese Fehler aufgetreten?
"Undefined variable: query" sagt dir doch, dass die Variable $query benutzt wird, aber nicht definiert ist. Warum ist das so?
 
Ich habe es gefunden, ich habe den Fehler mit Hilfe deines letzten Beitrags gefunden. Eine Kolumne hieß in der Datenbank anders. Das mit dem Query lag daran das ich vergessen habe was einzufügen.

Ich hätte da allerdings noch zwei Fragen.

1. Ist es möglich in dieser Add (if-Schleife) noch eine if Abfrage zu starten die überprüft ob die ausgewählte Piloten ID b ereits vergeben ist oder nicht. Bitte nicht nur ja oder nein :-)

2.Ich möchte, dass nachdem Adden des Piloten seine Anfrage aus pilotem_bewerbung DB gelöscht wird, wie kann ich daS ANSTELLEN?
 
1. Einfach vorher ein SELECT auf die Tabelle machen und alles mit der $pilot_id rausholen. Entweder es kommt ein Datensatz zurück (dann ist der Pilot schon drin) oder es kommt kein Datensatz zurück (dann ist der Pilot noch nicht drin).
PHP:
$suche = "SELECT pilot_id FROM piloten WHERE pilot_id = '$pilot_id'";
echo "<pre>\nSuche:\n".$suche ."\n\n</pre>";
$ergebnis = mysql_query($suche);
if (mysql_fetch_array($ergebnis)) {
    // Pilot ist schon drin
} else {
    // Pilot ist noch nicht drin
}
Denn (aus der PHP-Doku):
[mysql_fetch_array] Liefert ein Array das dem aktuellen Datensatz entspricht oder FALSE, wenn keine weiteren Datensätze vorliegen.

2. Das geht in MySQL mit einem DELETE Statement. Also nach dem Ablehnen kannst du den Datensatz löschen:
PHP:
$loeschen = "DELETE FROM piloten_bewerbung WHERE id = '$id'";
echo "<pre>\nLoeschen:\n".$loeschen."\n\n</pre>";
mysql_query($loeschen);
Eine Zuweisung von mysql_query() an ein Ergebnis ist dann nicht mehr nötig, da du ja keine Daten aus der DB holst, die du später weiterverarbeiten willst.
 
löschen selber hatte ich fertig fürmich ich ist es nun ja wichtig das es sich automatisch aus der DB löscht wenn der Pilot akzeptiert wurde. Das erste probiere ich morgen aus!
 
Also das mit der Anzeige, das die Pilotennr. bereits vergeben ist funktioniert ganz super, ich war selber auf dem richtigen Weg, nur an eine Abfrage davor war ich nicht ghekommen.

Nur stellt sich für mich nun die Frage wie ich es da noch einfügen soll, dass der DB Satz aus Piloten_bewerbung gelöscht wird sobald ich den Piloten eingefügt habe.

Ausschnitt aus dem Quellcode:

PHP:
if ($_POST["submit_button"]=="Add pilot") 
 {
				if (mysql_fetch_array($result))
				{
					print"<p><blockquote>Pilot <b>$pilot_id </b>allready exists!<blockquote></p>";
				} 
				
				else 
				{
  					$query = "INSERT INTO 
													 piloten
      						   SET  
										 
							    pilot_id		 ='$pilot_id',
          					    vorname			 ='{$dataset['vorname']}',
            					nachname		 ='{$dataset['nachname']}',
            					mail			 ='{$dataset['mail']}',
            					passwort		 ='$passwort',
            					postleitzahl	 ='{$dataset['plz']}',
            					ort				 ='{$dataset['ort']}',
          						heimatflughafen  ='{$dataset['heimatflughafen']}',
            					letzter_standort ='{$dataset['basis']}',
           						ivaoid     		 ='{$dataset['ivaoid']}',
           						vatsimid   		 ='{$dataset['vatsimid']}',
            					geburtstag 		 ='{$dataset['geburtstag']}'";
			
				    $abfrage2= mysql_query($query);  						
            
							$sender 	= "info@americanblue-va.com";
							$empfaenger = $dataset['mail'];
							$betreff	= "Your Application on AmericanBlue-VA";

							$mailtext   = "Dear $vorname $nachname,
thank you for your Application on AmericanBlue-va.com.
										   
Your Application was accepted.
										   
YourData:
Pilot ID: $pilot_id 
Password: $passwort2
										   
With immediate effect you can login on http:\\www.americanblue-va.com
										   
We wish you a plasent time with us and the Community\
										   
Your AmericanBlue-Va Team";
										 
							mail($empfaenger, $betreff, $mailtext, "From: $sender ");

							print"<p>You add <blockquote>Pilot <b>$pilot_id </b>$vorname $nachname!<blockquote></p>";

}}

Ich hatte den Gedankengang eine dritte if-Schleife zu öffnen, nur wie kann ich ihm klar machen "lösche wenn Pilot geaddet wurde"?
 
Einen dritten If-Zweig brauchst du nicht. Es soll ja nur gelöscht werden, wenn hinzugefügt wird. Also kannst du den Code zum Löschen doch einfach hinter das INSERT Statement packen:

Falls ADDEN:
  • INSERT INTO piloten
  • DELETE FROM piloten_bewerbung
  • mail()
Ansonsten falls DELETE:
  • DELETE FROM piloten_bewerbung
  • mail()


Poste danach doch noch mal den gesamten Code der Datei.
 
Danke für diesen Tip! Dachte ja nicht, das dies so einfach geht?!

Du wolltest den Quellcode?

PHP:
<?php
// **Diese Seite wird nur dann ausgeführt wenn überhaupt ein Eintragauswählbar ist
if (isset($_GET['id'])) {
    $id = intval($_GET['id']);
} else {
    exit("Keine ID vorhanden");
}
// **wichtige Variablen für die folgenden Funktionen Bestätigung und Löschen

    $pilot_id  = ($_POST['pilot_id']); 
    $mailinput = ($_POST['reject_comment']); 

//**Nur noch ein JOIN ein piloten_bewerbung!
 $abfrage 	   = "SELECT
                    `piloten_bewerbung`.`id`,
					`piloten_bewerbung`.`vorname`,
                    `piloten_bewerbung`.`nachname`,
                    `piloten_bewerbung`.`mail`,
                    `piloten_bewerbung`.`passwort`,
                    `piloten_bewerbung`.`plz`,
                    `piloten_bewerbung`.`ort`,
                    `piloten_bewerbung`.`heimatflughafen`,
                    `piloten_bewerbung`.`basis`,
                    `piloten_bewerbung`.`ivaoid`,
                    `piloten_bewerbung`.`vatsimid`,
                    `piloten_bewerbung`.`other`,
                    `piloten_bewerbung`.`reg_datum`,
                    `piloten_bewerbung`.`geburtstag`
            FROM 
                     piloten_bewerbung
                     
            Where   `piloten_bewerbung`.`id` = $id";
            
$ergebnis   = mysql_query($abfrage);

$dataset    = mysql_fetch_array($ergebnis);

$passwort   = md5($dataset['passwort']); //** PW wird verwaschen
$passwort2  =($dataset['passwort']); //** PW als Klaranzeige für die Bestätigungsmail
$vorname    =($dataset['vorname']);
$nachname   =($dataset['nachname']);

echo ($dataset['pilot_id']);

$suche      = "SELECT 
						pilot_id 
			   FROM 
			   			piloten 
			   WHERE
			   			pilot_id = '$pilot_id'";
$result = mysql_query($suche);

if ($_POST["submit_button"]=="Add pilot") 
 {
				if (mysql_fetch_array($result))
				{
					print"<p><blockquote>Pilot <b>$pilot_id </b>allready exists!<blockquote></p>";
					print"<p><blockquote><a href='Admin_pilot_anfragen.php'>More Applications</a><blockquote></p>";
				} 
				
				else 
				{
  					$query = "INSERT INTO 
													 piloten
      						   SET  
										 
							    pilot_id		 ='$pilot_id',
          					    vorname			 ='{$dataset['vorname']}',
            					nachname		 ='{$dataset['nachname']}',
            					mail			 ='{$dataset['mail']}',
            					passwort		 ='$passwort',
            					postleitzahl	 ='{$dataset['plz']}',
            					ort				 ='{$dataset['ort']}',
          						heimatflughafen  ='{$dataset['heimatflughafen']}',
            					letzter_standort ='{$dataset['basis']}',
           						ivaoid     		 ='{$dataset['ivaoid']}',
           						vatsimid   		 ='{$dataset['vatsimid']}',
            					geburtstag 		 ='{$dataset['geburtstag']}',
								reg_datum        ='{$dataset['reg_datum']}',
								letzter_flug     ='{$dataset['reg_datum']}'";
			
				    $abfrage2= mysql_query($query);  						
            
							$sender 	= "info@americanblue-va.com";
							$empfaenger = $dataset['mail'];
							$betreff	= "Your Application on AmericanBlue-VA";

							$mailtext   = "Dear $vorname $nachname,
thank you for your Application on AmericanBlue-va.com.
										   
Your Application was accepted.
										   
YourData:
Pilot ID: $pilot_id 
Password: $passwort2
										   
With immediate effect you can login on http:\\www.americanblue-va.com
										   
We wish you a plasent time with us and the Community\
										   
Your AmericanBlue-Va Team";
										 
							mail($empfaenger, $betreff, $mailtext, "From: $sender ");

$loesch = mysql_query("DELETE FROM piloten_bewerbung WHERE id = $id");

							print"<p>You add <blockquote>Pilot <b>$pilot_id </b>$vorname $nachname!<blockquote></p>";
							print"<p><blockquote><a href='Admin_pilot_anfragen.php'>More Applications</a><blockquote></p>";

}} 

elseif ($_POST["submit_button"]=="Delete pilot")
 { 

						$loesch = mysql_query("DELETE FROM piloten_bewerbung WHERE id = $id");
						
						$sender 	= "info@americanblue-va.com";
						$empfaenger = "".$dataset['mail']."";
						$betreff	= "Your Application on AmericanBlue-VA";
						$mailtext   = "$mailinput";
						
						mail($empfaenger, $betreff, $mailtext, "From: $sender ");

						print "You has rejected this Application";
						print"<p><blockquote><a href='Admin_pilot_anfragen.php'>More Applications</a><blockquote></p>";

}

 else
  {
						print "There is an failure in the script";
 }  

?>
 
Zurück