Hi, ich wollte eine uralte Seite von mir, die JavaScript verwendet, als Arbeitsprobe an meine Homepage auf einem Debian/Apache Rechner anhängen.
Das JavaScript speichert Daten in einen Cookie und schaut beim Start (onLoad="Wertelesen()") nach, ob der Cookie vorhanden ist.
Das Problem ist jetzt, auf dem gleichen Rechner läuft ein PHP Projekt mit Sessions. Wenn jetzt das JavaScript startet, findet es die SessionID als Cookie
(document.cookie = True) aber natürlich nicht die Daten und zersägt sich (Formularfelder NaN)
Hab ewig nichts mehr mit JavaScript gemacht, wie müßte die If-Abfrage aussehen, damit das nicht mehr passiert?
Geschrieben wird der Cookie mit dieser Funktion:
Das JavaScript speichert Daten in einen Cookie und schaut beim Start (onLoad="Wertelesen()") nach, ob der Cookie vorhanden ist.
Das Problem ist jetzt, auf dem gleichen Rechner läuft ein PHP Projekt mit Sessions. Wenn jetzt das JavaScript startet, findet es die SessionID als Cookie
(document.cookie = True) aber natürlich nicht die Daten und zersägt sich (Formularfelder NaN)
Hab ewig nichts mehr mit JavaScript gemacht, wie müßte die If-Abfrage aussehen, damit das nicht mehr passiert?
Code:
function Wertelesen() { if(document.cookie) { Keks = document.cookie; Keks = Keks.split("/"); document.Formular.Bezirk.value = Keks[1]; document.Formular.Land.value = Keks[2]; document.Formular.Provinz.value = Keks[3]; document.Formular.Buerger.value = Keks[4]; document.Formular.Bauern.value = Keks[5]; document.Formular.Sklaven.value = Keks[6]; document.Formular.Soldaten.value = Keks[7]; document.Formular.Lebensstandard.value = Keks[8]; document.Formular.Bodenschaetze.value = Keks[9]; Gueter_Punkte = Keks[10]; document.Formular.Speicher.value = Keks[11]; document.Formular.Schatztruhe.value = Keks[12]; Zuwachs = Keks[13]; document.Formular.Besonders.value = Keks[14]; var Zugriff = Keks[15]; letzterzugriff(Zugriff); } else { document.Formular.Bezirk.value = "keiner"; document.Formular.Land.value = "keines"; document.Formular.Provinz.value = "keine"; document.Formular.Buerger.value = 0; document.Formular.Bauern.value = 0; document.Formular.Sklaven.value = 0; document.Formular.Soldaten.value = 0; document.Formular.Lebensstandard.value = 0; document.Formular.Bodenschaetze.value = 0; Gueter_Punkte = 0; document.Formular.Speicher.value = 0; document.Formular.Schatztruhe.value = 0; Zuwachs = 0; document.Formular.Besonders.value = 0; var Zugriff =0; } document.Formular.Lebensstandard_neu.value = 0; document.Formular.Bs_Aenderung.value = 0; document.Formular.Bs_neu.value = 0; document.Formular.Soldaten_Aenderung.value = 0; document.Formular.Sklaven_Aenderung.value = 0; document.Formular.Einnahmen.value = 0; document.Formular.Ausgaben.value = 0; document.Formular.Gueter_Aenderung.value = 0; document.Formular.Gueter_Verteilt.value = 0; document.Formular.Gueter_Auswirkung.value = Gueter_Punkte; document.Formular.Einnahmen.value = 0; document.Formular.Ausgaben.value = 0; document.Formular.HG_Angekommen.value = 0; document.Formular.HG_Umgetauscht.value = 0; document.Formular.HG_Verschickt.value = 0; Sof = 0; Saf = 0; Besov = 0; Aw = document.Formular.Gueter_Auswirkung.value; Berechnen(); }
Code:
function cookieschreiben() { var Verfall = 1000*60*60*24*100; var jetzt = new Date(); var Zugriff = new Date; var Auszeit = new Date(jetzt.getTime() + Verfall); Schokokeks = "/"+document.Formular.Bezirk.value+"/"+ document.Formular.Land.value+"/"+ document.Formular.Provinz.value+"/"+ document.Formular.Buerger.value+"/"+ document.Formular.Bauern.value+"/"+ document.Formular.Sklaven.value+"/"+ document.Formular.Soldaten.value+"/"+ document.Formular.Lebensstandard_neu.value+"/"+ document.Formular.Bs_neu.value+"/"+ document.Formular.Gueter_Auswirkung.value+"/"+ document.Formular.Speicher_neu.value+"/"+ document.Formular.Schatztruhe_neu.value+"/"+ document.Formular.Bevoelkerung_neu.value+"/"+ document.Formular.Besonders.value+"/"+ Zugriff+"/"; document.cookie = "Elek-Mantow"+"="+Schokokeks+"; expires="+Auszeit.toGMTString()+";"; ZN = new Date(jetzt.getTime() + 1209600000); ZN = Datum(ZN); alert("Cookie wurde aktualisiert, naechste Abrechnung in 14 Tagen moeglich.\n\nAlso fruehestens am "+ZN); }
Comment