andyah
Goto Top

PHP-Script ausführen, ohne HTML-Formular zu beenden

Hi NG,

ich bin's schon wieder ;). Kann ich ein PHP-Script ausführen, ohne das aufrufende Formular zu verlassen?

Es geht mir darum, Daten in einer Datenbank zu speichern.

Gruß
Andy

Content-Key: 203690

Url: https://administrator.de/contentid/203690

Printed on: April 19, 2024 at 02:04 o'clock

Member: ChrisDynamite
ChrisDynamite Mar 21, 2013 at 06:50:00 (UTC)
Goto Top
hi


ich bin null der scripter, aber ich hatte es mal. kurzerhand möchte ich dir einen tip mitgeben


wie es in javascript onClick gibt oder OnMouseover gibt es bestimmt auch so sachen wie einen trigger welcher bei betätigen der tastatur anspringt. bei genügend ahnung (und die habe ich nicht) lässt sich damit javacript und php verbinden.

Grüße Chris
Member: ChrisDynamite
ChrisDynamite Mar 21, 2013 at 06:51:42 (UTC)
Goto Top
hier sind die javascript event-handler. vielleicht hilfts weiter.

http://de.selfhtml.org/javascript/sprache/eventhandler.htm
Member: ChrisDynamite
ChrisDynamite Mar 21, 2013 at 06:53:42 (UTC)
Goto Top
das hilft vielleicht weiter:

http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeydown


besonders die erläuterung:

Erläuterung:
Im Beispiel wird ein Formular definiert, in dem der Anwender eine Kurzbeschreibung seiner Homepage in einem Eingabefeld abliefern kann. Der Text soll maximal 50 Zeichen lang sein. Damit der Anwender nicht mitzählen muss, gibt es ein kleines Eingabefeld nebendran, in dem nach jedem Tastendruck ausgegeben wird, wie viele Zeichen bereits eingegeben wurden. Dazu ist in dem Eingabefeld mit Namen Eingabe der Event-Handler onkeydown notiert. Er bewirkt, dass, solange der Anwender in dem Formularfeld etwas eingibt, bei jedem Tastendruck die Funktion Aktualisieren() aufgerufen wird, die im Dateikopf in einem Script-Bereich definiert ist. Diese Funktion errechnet aus document.Test.Eingabe.value.length + 1, wie viele Zeichen bereits eingegeben wurden, und schreibt eine entsprechende Ausgabe in das dafür vorgesehene "Eingabe"-Feld.
Member: AndyAh
AndyAh Mar 21, 2013 at 07:02:19 (UTC)
Goto Top
Hi ChrisDynamite,

ich glaube, dass wir uns falsch verstanden haben. Es soll verhindert werden, dass PHP beim Ausführen eine neue Seite aufmacht.

Gruß
Andy
Member: nxclass
nxclass Mar 21, 2013 updated at 07:36:44 (UTC)
Goto Top
Es gibt die möglichkeit aus PHP heraus den HTML Error Code 204 zu senden. Dieser Fehlercode sollte verhindern, dass der Browser die Seite wechselt.
http_response_code( 204 );
// php < 5.4.0
header("HTTP/1.1 204 No Content");   

Besser ist es aber auf jeden Fall hier mit JS (jQuery wenn du möchtest) zu arbeiten und per AJAX das Formular zu senden. Dann können auch Fehlermeldungen etc. ausgewertet werden.
Member: AndyAh
AndyAh Mar 21, 2013 at 08:53:55 (UTC)
Goto Top
Hi nxclass,

hat funktioniert!

Gruß
Andy
Member: marinux
marinux Mar 21, 2013 updated at 09:06:17 (UTC)
Goto Top
Hallo,

ich glaube es ist sinnvoller wenn Du detaillierter beschreibst was Dein Ziel ist und auch warum. Dann kann man Dir auch zielgerichtet antworten, vor allem unter dem Hintergrund, dass es für Deine frage verschiedene Lösungsansätze gibt, die von ihrer Komplexität stark differieren.

Z.B. wäre es ja auch möglich, dass es reicht wenn Dein PHP-Skript nach Aufruf die gleiche Seite wieder erstellt und die im Vorfeld gesendeten Daten erneut einträgt.

Gruß