echo $begrüßung;
Ich möchte zum ersten mal PHP, HTML und MYSQL trennen.
$abfrage1 = mysql_query($query_abfrage1, $sammeln) or die(mysql_error());
Das erreichst du damit aber nicht, denn hier hat sich eine Ausgabe in den verarbeitenden Teil eingeschmuggelt, auch wenn diese nur im Fehlerfall erfolgt. Doch vielleicht möchte gerade dann der ausgebende Teil darauf reagieren und die Ausgabe ändern, woran du ihn aber mit dem die() wirksam hinderst.
Diese Abfrage : [...]
möchte ich auslagern in eine include.php Datei
ich möchte diese Datei dann includieren, wie muss ich das machen.
Ein include bindet den ausgelagerten Code direkt an der Stelle und in den Kontext ein, an der/dem das include notiert ist. Du erreichst damit keine Trennung, nur eine Auslagerung. Eine richtige Trennung ist es erst dann, wenn der Teil selbständig arbeiten kann und nur über genau definierte Schnittstellen seine Parameter bekommt und sein Ergebnis zurückliefert.
Ansonsten ist include und Co. im PHP-Handbuch unter den Control Structures beschrieben.
Als zweites
mysql_select_db($database_sammeln, $sammeln);
mysql_query("INSERT INTO sammlung (
id , was, org
) values ('','".$_POST['was']."',".$_POST['org']."')");
Wie sieht es mit SQL-Injection bzw. kontextgerechter Behandlung aus? Siehe https://forum.selfhtml.org/?t=164946&m=1075556
Wenn du wirklich eine Trennung möchtest, dann sollte der abgetrennte Teil mit beliebigen Daten und nicht nur mit dem $_POST-Array und festgelegten Feldnamen arbeiten können. Erstelle beispielsweise eine Funktion, die ein assoziatives Array entgegennimmt, aus dem die Abfrage zusammengebaut wird. Der aufrufende Teil muss allerdings dafür sorgen, dass das übergebene Array nur die gewünschten Key-Value-Paare enthält.
Hier auch wie lagere ich die Datei aus, bisher machte ich das immer so:
if (isset($_POST['submit']){
mysql_select_db($database_sammeln, $sammeln);
mysql_query("INSERT INTO sammlung (
id , was, org
) values ('','".$_POST['was']."',".$_POST['org']."')");
}
Prüfe zunächst die Eingabedaten auf Korrektheit und Vollständigkeit. Die sammelst du in einem Array und übergibst das der Funktion, die sich um das Schreiben in die Datenbank kümmert.
Wenn du nun festgestellt hast, dass in der Insert-Funktion und in der Select-Funktion und in der Update-Funktion jedes Mal die Datenbankverbindung erneut hergestellt werden muss, und Parameter dafür zwar global verfügbar sind, aber ständig in den Funktionen bekanntgemacht werden müssen, könntest du an den Punkt kommen, an dem du die Vorteile objektorientierter Programmierung zu schätzen lernst. Aber bis dahin kannst du ja erstmal mit den einfachen Funktionen üben.
Beachte dabei: Wann immer du gedenkst, das Schlüsselwort global oder Bezug auf eine globale Struktur (wie $_GET und Co.) nehmen zu müssen, ist an deinem Konzept was verkehrt, denn damit erreicht man keine Trennung sondern eine Abhängigkeit von äußeren Bedingungen.
echo "$verabschiedung $name";