PHP4-Forum
Forum | Befehle | MySQL | Beispiele | Newsletter | Suche | Home

Untermenü

Forum
Beitrag schreiben
Übersicht aller Beiträge

Zu dieser Seite

Übersicht aller Beiträge
Willkommen im Forum!


Sehr geehrte Besucher, wir mochten gern, dass dieses Forum weiterhin ein hohes Niveau besitzt. Ausserdem mochten wir gerne vermeiden, dass Fragen immer doppelt vorkommen. Deshalb appellieren wir auf Ihre Geduld und bitten Sie zuerst nach Antworten zu suchen und erst dann Fragen zu stellen. Benutzen Sie bitte dafur entweder das Sucheformular unten, oder unsere Suchmaschine, wenn Sie nach Befehlen, oder sonstigen Inhalten fundig werden mochten.

PHP4-Forum Zum ForumSeite 0
PHP4-Forum Gültigkeit eines Cookie auslesenderSESO19.06.2010 | 08:20:12
PHP4-Forum KonzeptUnbekannt20.06.2010 | 21:24:46
PHP4-Forum HoffnungUnbekannt26.06.2010 | 20:06:40
PHP4-Forum [Kein Betreff]Mannes28.06.2010 | 15:40:51
PHP4-Forum Gültigkeit eines Cookie auslesenGünni01.07.2010 | 01:13:49

@derSESO

Ein JavaScript-Profi würde wahrscheinlich was besseres "zaubern", aber vielleicht

hilft das hier ja schon mal weiter. Der Cookie wird beim Seitenaufruf gesetzt. Die

aktuelle Zeit wird einer Variablen zugewiesen und in Millisekunden umgerechnet.

Und zwar die Zahl Millisekunden, die seit dem 01.01.1970 verstrichen ist.

Dann wird eine Variable mit 3 Std. in Millisekunden belegt, das ist die Gültigkeitsdauer.

Zusätzlich noch eine Variable mit 15 Min. in Millisekunden, das ist die Frist, bis zum

Ablauf.

Die Eventhandler "document.onclick" und "document.onkeydown" werden mit dem Funktionsnamen

belegt, und immer wenn der User aktiv ist (mit Tastatur oder Maus), wird die Funktion

aufgerufen, vergleicht die gespeicherte "Startzeit" mit der aktuellen Zeit und wenn die

Differenz größer ist als "aktuell - (start - frist)", hat die Frist begonnen und wenn die

Differenz größer ist als "aktuell - start", ist der Cookie abgelaufen.

Die Variable geprueft wird auf true gesetzt, wenn der User über die Ablauffrist informiert wurde.

Ansonsten würde die Info innerhalb der Frist immer wieder erscheinen und der User könnte dann

nicht mehr weiter arbeiten.

***************************** Script ************************************************************


<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
/*
* Variable wird auf true gesetzt, wenn . . .
* - das Meldefenster mit der Ablauffrist angezeigt wird.
* - das Cookie komplett abgelaufen ist, und eine Meldung
* - ausgegeben wird, dass man nun ausgeloggt wird.
*/
var geprueft = false;
function pruefe_cookie(){
if(document.cookie){
  var nun = new Date();
  /*
  * Die Zeit, die seit 1. Januar 1970, 0:00:00 Uhr UTC vergangen ist, in Millisekunden
  */
  nun = nun.getTime();
  /*
  * 3 Std. in Millisekunden
        */
  // var abgelaufen = 3*60*60*1000;
  /*
  * 15 Min. in Millisekunden
        */
  // var frist = 15*60*1000;
  /*
  * Zum Testen habe ich mal kleine Werte eingegeben
  */
  var abgelaufen = 20000; // 20 Sekunden
  var frist = 5000; // 5 Sekunden
  var cookie = document.cookie;
  var cookie_array = cookie.split(";");
        var start = cookie_array[1];
  start = start.substring(start.indexOf("=") + 1);
  }else{
    var cookie_name = "Name_Cookie";
  var start = new Date();
  start = start.getTime();
  document.cookie = "Name="+cookie_name;
  document.cookie = "Start="+start;
  }
/*
* Wenn der Cookie komplett abgelaufen ist
*/
if((nun - start) > abgelaufen){
  geprueft = true;
  alert("Ihr Cookie ist abgelaufen. Sie werden jetzt ausgeloggt!");
  window.location.href = "logout.php"; //Oder irgendwas anderes
}
/*
* Wenn die Ablauffrist begonnen hat
*/
if((nun - start) > (abgelaufen - frist) && !geprueft){
  geprueft = true;
  alert("Sie werden in ca. " +  Math.ceil((frist/60/1000))    + " Minute(n) ausgeloggt!");
}
}
/*
* Wenn der User mit der Maus klickt, eine Taste drückt
* wird die Funktion aufgerufen
*/
document.onclick = pruefe_cookie;
document.onkeydown = pruefe_cookie;
// -->
</script>
</head>
<body onload="pruefe_cookie()">

</body>
</html>

***************************** Script Ende *******************************************************

Wie gesagt, ist nur 'ne Idee, wie man es machen könnte.

Gruß
Günni

Antworten | Zurück | Eine neue Frage stellen | der Beitrag muss weg!

Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2012 | Last Update: 30.01.2012