Knud: wie Auslesen des cookies verhindern?

Hi!

Ich hab ein kleines Frameset aufgebaut.
In im ersten Frame sind ein paar wenige Eingabefelder, deren Inhalte in einem
Cookie gespeichert werden können (auf Wunsch) und demenstsprechend wieder
eingelesen werden.
Funktioniert soweit auch alles prima.
Im zweiten Frame sind auch einige Eingabefelder, wobei das erste Feld den
gleichen Namen wie das erste Feld im ersten Frame hat.

Jetzt wird der Wert des Cookies auch im zweiten Frame als Wert in das erste
Eingabefeld geschrieben. (*Sch....*)

Kann ich das nicht verhindern? Er soll dort das Cookie ignorieren!

Dabei kann ich nicht einfach den Wert wieder löschen.

Hat jemand eine Idee?

Viele Grüße,

Knud

  1. Hallo Knud,

    Ich hab ein kleines Frameset aufgebaut.
    In im ersten Frame sind ein paar wenige Eingabefelder, deren Inhalte in einem
    Cookie gespeichert werden können (auf Wunsch) und demenstsprechend wieder
    eingelesen werden.
    Funktioniert soweit auch alles prima.
    Im zweiten Frame sind auch einige Eingabefelder, wobei das erste Feld den
    gleichen Namen wie das erste Feld im ersten Frame hat.

    Jetzt wird der Wert des Cookies auch im zweiten Frame als Wert in das erste
    Eingabefeld geschrieben. (*Sch....*)
    Kann ich das nicht verhindern? Er soll dort das Cookie ignorieren!
    Dabei kann ich nicht einfach den Wert wieder löschen.

    daß das Feld (des Formulars) den gleichen Namen hat, ist eigentlich unwesentlich!
    Nimm doch einen zweiten Cookie! D.h. der Name des Cookies sollte anders sein, dann überschreibst Du den alten doch nicht.

    Oder habe ich Dich falsch verstanden?

    Reiner

    1. Hallo Rainer,

      die Cookies werden in einer(!) Datei gespeichert. Beim NC heisst Sie cookies.txt und ist im User-Verzeichnis.
      Die im Cookie gespeicherten Werte identifizieren sich über die aufrufene Seite (URL).
      Beim Frame leider die Seite, die das Frameset bildet. Dadurch gilt das Cookie für jedes Frame.
      Aber bisher dachte ich, dass das Cookie explizit ausgelesen werden muss:
      wert = document.cookie;

      Noch bloeder ist, dass auch der Wert, den ich per POST an die Seite übergebe, mit dem Wert aus dem Cookie
      überschrieben wird.

      Im Detail:
      Im ersten Frame müssen Werte eingegeben werden, die dann im zweiten Frame an ein PHP-Script übergeben werden.
      Der Benutzer kann aber die von Ihm gemachten Eingaben in einem Cookie speichern (er ist ja sooo schreibfaul!).
      Im Php-Script kommt jetzt aber in der Variable der Wert des Cookies rein, selbst wenn er die Angaben verändert
      und diese an das Script sendet.

      Wenn's keine Lösung geben sollte, muss ich wohl ein Dummy-Feld einführen,
      dass den Cookie aufnimmt und damit ignoriert. (mal probieren!)

      Gruß,

      Knud

      1. Hallo,

        Noch bloeder ist, dass auch der Wert, den ich per POST an die Seite übergebe, mit dem Wert aus dem Cookie
        überschrieben wird.

        Dann wertest Du in Deinem Script das ganze in der falschen Reihenfolge aus.
        Du solltest die werte des Cookies nur benutzen, wenn _kein_ Wert vom Formular kommt. Vielleicht genügt es einfach, die Reihenfolge der Auswertung umzudrehen.
        Zuerst das Cookie auswerten, dann die Parameter, welche dann eventuell vom Cookie gemachte einstellungen überschreiben.

        Grüße
          Klaus

        1. Hallo Klaus,

          Dann wertest Du in Deinem Script das ganze in der falschen Reihenfolge aus.
          Du solltest die werte des Cookies nur benutzen, wenn _kein_ Wert vom Formular kommt. Vielleicht genügt es einfach, die Reihenfolge der Auswertung umzudrehen.
          Zuerst das Cookie auswerten, dann die Parameter, welche dann eventuell vom Cookie gemachte einstellungen überschreiben.

          Selbst wenn ich nur das Script im Frameset aufrufe und das Script noch keinerlei Daten per POST oder sonstwie bekommt,
          hat die Variable $pnr schon den Wert des Cookies.

          Ich hab keine Ahnung, warum die Werte aus dem Cookie schon drin sind und warum ausgerechnet in der Variable $pnr und nicht
          in irgendeiner anderen x-beliebigen verwendeten Variable.

          Ich bin mit meinen Ideen echt am Ende.

          Grüße
            Klaus

  2. Hi!

    Meine letzte Idee hat nun doch gefruchtet:

    Das "Problem" war, dass ich die Werte im Cookie so gespeichert habe:

    sWert = "pnr="+pnr+"|name"+name+"|; expires=...";

    Offensichtlich wird das Cookie immer eingelesen (vielleicht nur bei php-scripts?)
    und er hat den Wert direktement in die Variable pnr geschrieben.
    Klappt übrigens immer, die Variable wird automatisch erzeugt und mit dem Wert des Cookies belegt.
    Und das nach allen Übergaben etc.

    Hab jetzt einfach sWert = "xpnr="+pnr+"|... geschrieben und beim Auslesen
    halt ab dem zweiten Zeichen interpretiert und schon gehts.

    Habt vielen Dank für Eure Hilfe und ein schönes Wochenende!

    Gruß,

    Knud