Cookie setzen und auslesen

DrEvil

Erfahrenes Mitglied
Hallo!

Ich möchte 2 Werte (Zahlen) in einem Cookie speichern und sie später auslesen.

Als einzige Hilfe hab ich in diesem Forum ein Tutorial von fatalus gefunden, in dem unter anderem beschrieben wird wie man mit Cookies arbeitet. (Tut is )hier

Daraus hab ich gelesen, dass nen Cookie eigentlich nichts anderes als nen String ist.

ich hab jetzt versucht den wie folgt zu setzen:

Code:
function contentSelect(new_content_id, new_frameID){
document.cookie = 'content_id='+String(new_content_id)+';new_frameID='+String(new_frameID)+';';
}

und dann versuch ich ihn später auszulesen:

Code:
function get_cookie()
{
  if(strCookie=document.cookie)
    {
    if(arrCookie=strCookie.match(/new_content_id=\d+\.?\d*/))
      {
      arrContentCookie=arrCookie[0].split('=');
      content_id = Number(arrContentCookie[1]);
      }
//	 if(arrCookie=strCookie.match(/new_frame_id=\d+\.?\d*/))
//      {
//      arrZoomCookie=arrCookie[0].split('=');
//      dblZoomFactor=Number(arrZoomCookie[1]);
//      }
    }
	return(content_id);
}

(ich hab das Auslesen des zweiten Werts erstmal ausgeklammert und nicht bearbeitet, damit ichs einfacher hab)

So siehts aus, wenn ich jetzt aber nach der get_cookie() die content_id abfrage kommt die Fehlermeldung, dass die Variable nicht deklariert ist. Das ist mein erstes Cookie, ich hab also keinen Peil und SelfHTML hilft auch net wirklich...

WIe macht man es richtig?

Gruß DrEvil
 
ok nach einigem Hin und Her hab ich es prinzipiell geschafft Cookies zu setzen und sie auch auszulesen.

Jedoch klappt das alles nur, wenn ich mich auf einer Seite/Datei befinde, arbeite ich mit Framesets klappt das gleiche wieder nicht...

folgende Besonderheit (glaube ich) tritt auf:

ich setze das Cookie - zerstöre dann das Frameset - lese in einem neuen Frameset das Cookie wieder aus... nix passiert...

warum haut das net hin?

So setze ich den Keks:

Code:
function contentSelect(new_content_id,new_frameID){
document.cookie = new_content_id+' '+new_frameID;
}

so lese ich ihn wieder:

Code:
function get_cookie()
{
  Infos = document.cookie.split(" ");
  content_id = Infos[0];
  new_frameID = Infos[1];  
}

Wieder sagt er, dass content_id nicht vorhanden ist.

Lese ich das cookie an der Stelle wo content_id benötigt wird aus, stellt man fest, dass der Keks garnicht gesetzt wurde bzw. keinen Inhalt besitzt... nix Peil...

Benutze ich den gleichen Code nur auf einer Seite klappt alles wie es soll.

Hat wer ne Idee?

MfG DrEvil
 
Zum Einen....Cookies gelten nur für Dateien, welche sich innerhalb von dem Verzeichnis befinden, in welcher sich die Datei befindet, in welcher das Cookie gesetzt wurde(und Unterverzeichnisse davon)...ist das bei dir der Fall?

zum Anderen....ein Cookie muss neben einem Wert auch ein Ablaufdatum enthalten(expires=)....wie im Abschnitt 3 des Tutorials beschrieben.
Ich sehe nirgends, wo du dieses Ablaufdatum in den Keks schreibst.
 
Klappt! Top!

Es lag an der Ordnerhierarchie, wie du gesagt hattest.

Es geht aber auch ohne das "expires=".

Danke! DrEvil
 

Neue Beiträge

Zurück