wie Auslesen des cookies verhindern?
Knud
- html
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
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
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
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
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
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