PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abschicken eines Formulars "simulieren"


RMC
2005-05-02, 18:38:37
Kann ich ein Formular per method="post" manuell abschicken (zb über JavaScript), ohne dazu einen Submit-Button zu haben? Wenn ja, wie geht das?


Hintergrund ist folgender: Ich möchte in ein paar versteckte Formular-Felder Daten speichern. Beim Aufruf eines Links wird dasselbe PHP Skript nochmal aufgerufen, dazu brauch ich diese Daten.

In der URL will ich die Variablen nicht übergeben, weil das 1. recht viele sind und 2. nicht hübsch ist.


Danke.

darph
2005-05-02, 19:13:27
Wenn du eh schon PHP verwendest - warum keine Sessionvariablen verwenden?

RMC
2005-05-02, 19:53:52
gut...dazu hab ich aber noch einige Fragen:

Wieviele Session-Variablen kann man anlegen?
Haben viele Variablen Auswirkung auf die Performance?
Kann ich ein ganzes $_POST Array auf $_SESSION schnell und einfach übertragen?
Kann ich einzelne Variablen wieder löschen? (ohne die Session zu zerstören?)

darph
2005-05-02, 20:21:57
gut...dazu hab ich aber noch einige Fragen:

Wieviele Session-Variablen kann man anlegen?
Wie viele brauchst du? So viele, wie dein Server Arbeitsspeicher hat.

Haben viele Variablen Auswirkung auf die Performance?
Solange du nicht mehrere Megabyte an Daten pro Aufruf verarbeitest, kann ich mir das kaum vorstellen. Aber dann würdest du das bei einem POST wesentlich deutlicher spüren, denke ich...

Kann ich ein ganzes $_POST Array auf $_SESSION schnell und einfach übertragen?Eh.. was genau hast du vor?
$_SESSION["name"] = wasauchimmer. Das kann auch ein Array sein. Wäre vielleicht interessant zu wissen, wie diese Daten überhaupt zustande kommen.


Kann ich einzelne Variablen wieder löschen? (ohne die Session zu zerstören?)
session_start()

$_SESSION["user"] = "darph";

unset($_SESSION["user"]);

Aber Achtung:
Achtung
Heben Sie NICHT die Registrierung der gesamten $_SESSION mit unset($_SESSION) auf, weil dies die Registrierung von Variablen durch die Superglobale $_SESSION deaktivieren würde.

RMC
2005-05-02, 20:45:28
Wie viele brauchst du? So viele, wie dein Server Arbeitsspeicher hat.

Ich weiß nicht genau. Hab ein ziemlich großes Formular, könnten schon so an die 10-15 Variablen werden.


Eh.. was genau hast du vor?
$_SESSION["name"] = wasauchimmer. Das kann auch ein Array sein. Wäre vielleicht interessant zu wissen, wie diese Daten überhaupt zustande kommen.

Eigentlich will ich alle Variablen aus dem Formular in die Session speichern, damit sie nicht verloren gehen.

darph
2005-05-02, 21:31:15
Eigentlich will ich alle Variablen aus dem Formular in die Session speichern, damit sie nicht verloren gehen.
Die Frage war eher, wie die Daten ins Formular kommen. Gibt der User die ein? Dann wirst du um einmal "submit" nicht herumkommen.

RMC
2005-05-02, 23:16:11
Die Frage war eher, wie die Daten ins Formular kommen. Gibt der User die ein? Dann wirst du um einmal "submit" nicht herumkommen.

Ja die gibt der User ein.

Warum kann man ein Formular nicht manuell absenden und eine Submit() Funktion simulieren? :usad:

Ich kann doch auch das Klicken eines Buttons "simulieren" indem ich einfach per JavaScript ein "self.location.replace()" mache. Das muss doch auch mit einem Submit-Button gehen...