Bogus: CGI: wie kann man variablen über mehrere seiten hinweg im speicher halten?

Hye

was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?

  1. Hye

    was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?

    Wenn du willst, daß die Variable, die von einem Form an ein CGI gepostet wurde, daß dann wieder ein Form erzeugt, immer noch im Speicher ist, dann mußt du das CGI so Programmieren, daß es bei der Ausgabe des Forms diese Eingenschaft als input type hidden oder wie daß heißt ausgibt.

    1. Hye Erik!

      Hye

      was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?

      Wenn du willst, daß die Variable, die von einem Form an ein CGI gepostet wurde, daß dann wieder ein Form erzeugt, immer noch im Speicher ist, dann mußt du das CGI so Programmieren, daß es bei der Ausgabe des Forms diese Eingenschaft als input type hidden oder wie daß heißt ausgibt.

      ne, nicht post sondern GET!

      1. hi!

        was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im
        speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?
        Wenn du willst, daß die Variable, die von einem Form an ein CGI gepostet wurde, daß
        dann wieder ein Form erzeugt, immer noch im Speicher ist, dann mußt du das CGI so
        Programmieren, daß es bei der Ausgabe des Forms diese Eingenschaft als input type
        hidden oder wie daß heißt ausgibt.
        ne, nicht post sondern GET!

        Was ist da der Unterschied? Das Formular ist genauso aufgebaut und kann die gleichen Felder enthalten, egal ob die Daten mit POST oder mit GET übermittelt werden.

        bye, Frank!

  2. Moin!

    Hye

    was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?

    je nach Anzahl und Umfang gibt es mindestens 3 Möglichkeiten:

    a) Laß Dein Skript in jedes Formular die zu rettenden Variablen
        als 'hidden' input-fields schreiben.
      
        (<input type="hidden" name="hase" value="zuRettenderWert">)

    b) Falls es sich um viele Variablen handelt, ist es u.U. besser, sie
        serverseitig zwischenzuspeichern. Damit dies nicht im Chaos endet,
        wenn sich mehrere Leute gleichzeitig auf Deiner Site rumtreiben,
        mußt Du allerdings jedem Neuankömmling eine Art 'Session-Id.'
        (z.B. Datum/Uhrzeit/Sekunden oder fortlaufende Nummer) zuordnen
        und alle temporären Zwischendateien nach dieser Session benennen.
        Wird etwas komplizierter, lohnt sich aber bei umfangreichen Datenmengen.

    c) Über Cookies. Z. Zt. habe ich gerade kein passendes Beispiel für CGI parat...
        Ein Beispiel für JS hierzu findet sich z.B. in SelfHtml unter
        <../../tede.htm>
        
    Viele Grüße!

    Andreas

  3. hi,

    wie von Andreas gesagt:
    -Serverseitig (ein wenig kompliziert) oder
    -Einfach die Variablen(Werte) übergeben, wie z.B.
    ...
    http://www.domain/cgi-bin/script.pl?schlüssel1=wert1&schlüssell2=wert2&usw...
    ...
    und die Daten enspr. in dem Script verarbeiten (bzw. weitergeben).

    Natürlich hängt alles von dem eigentlichem Zweck der Applikation.

    bye

    Slobo

  4. Hye

    was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?

    Ich scheine schwer von Kappee zu sein, warum muß
    da so viel im Server geschehen?
    Wenn ich zB im HEAD eines (übergeordneten) Framesets Variablen (JavaScript) definiere, dann gelten die doch für alles was sich drunter abspielt.
    Pferdefuß: reload oder resize setzt die Variablen
    zurück.

    Klaus

    1. hi!

      was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im
      speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?
      Ich scheine schwer von Kappee zu sein, warum muß
      da so viel im Server geschehen?

      Was hälst du von dem Argument, dass es dann browserunabhängiger funktioniert?

      bye, Frank!

      1. hi!

        was muss ich machen um eine zuvor definierte variable (zb. von einem GET-form) im
        speicher zu halten, um sie auf allen folgenden seiten weiterzuverwenden?
        Ich scheine schwer von Kappee zu sein, warum muß
        da so viel im Server geschehen?

        Was hälst du von dem Argument, dass es dann browserunabhängiger funktioniert?

        bye, Frank!

        Hallo Frank,
        das ist durchaus ein Argument, setzt aber voraus,
        daß eine online-Verbindung läuft. Offline war dann
        nix, kann Relevanz aber auch nicht beurteilen.
        Wenn es um Forms geht ist das aber auch Voraussetzung.
        Wenn es jedoch um 'lokale' Variablen geht, wie es bei der Agentenversion oder dem Navigationslevel oder dgl sein könnte, dann würde ich wohl schon dazu neigen die vor Ort zu deklarieren.
        Nur für 'resize' muß ich mir dann noch gezielt
        was ausdenken.
        Klaus

        1. Hi!

          hi!
          Nur für 'resize' muß ich mir dann noch gezielt
          was ausdenken.
          Klaus

          Wenn es unbedingt lokal sein soll, kann man ja immer auf
          Cookies ausweichen (wie gesagt...
          siehe <../../tede.htm>.
          Diese sind auch immun gegenüber einem
          Resize oder einem Reload. Allerdings kann man niemanden
          zwingen, Cookies einzuschalten, außerdem ist die Gesamtmenge,
          die man so speichern darf, IMHO auf 4 kB beschränkt.
          Ansonsten hängt es immer vom Anwendungsfall ab. Ein
          skriptgesteuertes Forum z.B. kann man einfach nicht lokal
          programmieren...

          Viele Grüße!

          Andreas