Announcement

Collapse
No announcement yet.

Überprüfung ob Cookie existiert findet PHP sessionID

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Überprüfung ob Cookie existiert findet PHP sessionID

    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?

    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();
    
    }
    Geschrieben wird der Cookie mit dieser Funktion:

    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);
    }

  • #2
    Hat sich erledigt

    Habe es geändert auf:

    Code:
    function Wertelesen()
    {
    
    if(document.cookie.match(/\bElek-Mantow=\b/))
    {
    Keks = document.cookie.split("Elek-Mantow=");
    Keks = Keks[1];
    Keks = Keks.split("/");
    Sollte eigentlich funktionieren.

    Comment

    Working...
    X