Tach!
ich versende das formular an absenden.php. das wird dann in meinem fall auf der gleichen seite geladen (ohne target="_self" auf neuer seite). ich möchte aber gar nix laden lassen, eher will ich das das php script im hintergrund läuft, eventuell das auf der gleichen seite auf dem das formular ist ein alert fenster auf geht mit "gesendet" oder sowas drin.
PHP läuft nicht im Hintergrund weiter. Wenn der Reqeust erledigt und beantwortet wurde, wird das Script beendet. Jede Aktion eines Clients muss einen neuen Request starten, der eine neue Script-Instanz erstellt und abarbeitet. An diesem Prinzip kommst du nicht vorbei. Auch Ajax macht das nicht anders, nur dass der Request für den Anwender unsichtbar vom Browser aus gestartet wird. Auf der Server-Seite läuft alles normal. Es wird ein Request entgegengenommen, ein Script gestartet, lediglich die Ausgabe ist keine HTML-Seite, sondern zum Beispiel in JSON verpackte Daten.
Mit PHP problemlos möglich ist ein Selbstaufruf eines Scripts. Das verwendet man unter anderem bei einer Technik namens Affenformular. Das Formular wird so oft immer wieder dem Af^Hnwender vorgelegt, bis er es endlich richtig ausgefüllt hat. Vermutlich kannst du das so oder so ähnlich auch in deinem Fall anwenden. Der Erstaufruf erfolgt mit GET, Ausgabe ist das Formular. Das Absenden erzeugt einen POST-Request (zu erkennen an !empty($_POST)). Daraufhin werden die Daten geprüft, bei Erfolg die gewünschte Aktion ausgeführt und eine Erfolgsmeldung ausgegeben, ansonsten doch wieder nur das Formular, diesmal aber mit den bereits eingegebenen Werten vorausgefüllt und mit Fehlermeldungen gespickt, ausgegeben.
dedlfix.