Manticor: Variablen ohne Formular an nachfolgendes Script übergeben?

Hallo!

Ich habe eine Seite mit einem Formular, das seine Daten an ein PHP-Script mit POST übergibt. Das Script überprüft und verarbeitet die Formulardaten. Nun möchte ich die so veränderten Daten an ein weiteres Script übergeben, welches sie nun in eine DB schreiben soll.

Geht das ohne Cookies, Sessions und einem weiteren Formular? Kann man z.B. direkt in die $HTTP_POST_VARS schreiben?

Danke euch.
Stefan

P:S.: GET und an URL anhängen geht nicht, wg. der Datenmenge.

  1. Hallo Stefan,

    die einfachste Lösung ist ein Formular, nur das das Formular die Daten alle in Hidden Feldern haben kann. Der User sieht dann kein Formular, sondern drückt nur auf einen Button/Link "bestätigen", und das Folgescript bekommt die ganzen Daten aus dem unsichtbaren Formular als ob das Formular sichtbar wäre.

    Gruss

    Marko

  2. Hallo!

    Ich habe eine Seite mit einem Formular, das seine Daten an ein PHP-Script mit POST übergibt. Das Script überprüft und verarbeitet die Formulardaten. Nun möchte ich die so veränderten Daten an ein weiteres Script übergeben, welches sie nun in eine DB schreiben soll.

    Warum machst Du das nicht gleich? Wieso noch ein anderes Script oder gibt es noch Zwischenschritte?

    Geht das ohne Cookies, Sessions und einem weiteren Formular?

    Mit Sessions sollte das kein Problem sein.
    http://www.koehntopp.de/php/faq-version4_session.html
    http://www.php.net/manual/de/ref.session.php

    Bei einem CMS verwende ich Sessions. Man erspart sich das ganze Hidden-Feldergedöns, da ich die Daten über mehrer Seite brauche(Kontrolansichten etc.), bis sie in der Datenbank landen.

    Kann man z.B. direkt in die $HTTP_POST_VARS schreiben?

    IMHO ist das ein Umgebungsvariable(n), in denen Du nichts speichern kannst! Diese Variablen stellt Dir der Server zur Verfügung, wenn Du etwas mit POST versendest.

    P:S.: GET und an URL anhängen geht nicht, wg. der Datenmenge.

    Was heißt Datenmenge? Wieviel KB? siehe FAQ-Link

    MfG, André Laugks

  3. Schonmal (und nochmal) Danke.

    Die FAQs hatte ich schon durchquert, ohne richtig schlau zu werden. Ich habe mich aber jetzt wirklich für sessions entschieden, allerdings versuche ich ohne Cookie-Unterstützung auszukommen.

    Ist ziemlich frustrierend, da sich der Client dauernd irgendwas merkt, da funktionieren dann Scripte eine zeitlang, bis er sich dann doch dazu entschließt den Cache zu leeren und das vorletzte Script nun als das aktuelle anzusehen.

    Dann gibt es noch das komische Phänomen, dass er manchmal an die <?=SID?>-Sache, das gleiche nochmal anhängt.

    Aber vielleicht bin ich einfach nur übermüdet :).

    Grüsse, gute Nacht und guten Morgen,
    Stefan

    1. Hallo!

      Die FAQs hatte ich schon durchquert, ohne richtig schlau zu werden. Ich habe mich aber jetzt wirklich für sessions entschieden, allerdings versuche ich ohne Cookie-Unterstützung auszukommen.

      Wenn Du dafür sorgest, das die Sessiondaten(ID/Name) an jeder URL/Link hängen, ist das kein problem.

      Ist ziemlich frustrierend, da sich der Client dauernd irgendwas merkt, da funktionieren dann Scripte eine zeitlang, bis er sich dann doch dazu entschließt den Cache zu leeren und das vorletzte Script nun als das aktuelle anzusehen.

      Dann mußt Du dafür sorgen, das Deine Seiten nicht im Cache landen.
      http://www.koehntopp.de/php/faq-webserver.html#webserver-6

      Dann gibt es noch das komische Phänomen, dass er manchmal an die <?=SID?>-Sache, das gleiche nochmal anhängt.

      Ich vermute mal, das Du lokal unter Windows testest? PHP hängt an jeden LINK automatische die Sessiondaten, parst also die gesamte Seite nach relativen Links. Unter Windows wird diese Option standardmäßig mit installiert. Unter Unix/Linux mußt Du diese Option/Feature bei der Installation mit angeben. SID und diese sautomatische Anhängen greift, wenn Cookies deaktiviert sind.

      Ist also dieses feature mit installiert, dann benötigst Du die Konstante SID nicht. Ist dieses Feature nicht installiert, mußt Du SID verwenden. Dieses Feature wird von vielen Providern nicht mit installiert, da es sehr viel Systemresourcen kostet.

      Du kannst in der php.ini dieses feature deaktivieren.

      session.use_trans_sid      0     0

      MfG, André Laugks

      1. Thx, vor allem das letzte hilft mir vermutlich weiter.

        Ich mach' nochmal Krach, falls ich wieder irgendwo stecken bleibe :).

        Gruss