Javascript-forum
Cookie Ablaufzeit anzeigen - Druckversion

+- Javascript-forum (https://javascript-forum.de)
+-- Forum: Entwicklung (https://javascript-forum.de/forumdisplay.php?fid=4)
+--- Forum: Javascript (https://javascript-forum.de/forumdisplay.php?fid=6)
+--- Thema: Cookie Ablaufzeit anzeigen (/showthread.php?tid=1029)



Cookie Ablaufzeit anzeigen - BastiBln - 10.07.2022

Hi,

ich setze mit php einen Cookie, der nach einer Stunde abläuft. Ich möchte nun dem User die verbleibende Restzeit als Timer anzeigen. Wie macht man das mit js? Hab im Netz nichts passendes gefunden.

Vielen Dank!


RE: Cookie Ablaufzeit anzeigen - admin - 10.07.2022

Kannst du mir mal zeigen, wie du den Cookie erstellt hast?
Wenn man den so erstellt wie es sein soll, musst du an die Zeit dran kommen
https://www.a-coding-project.de/ratgeber/javascript/beispiele/mit-cookies-arbeiten

Die >Ablaufzeit solltest du dann umwandeln in Sekunden , und dann kannst du da ein Timer runterzählen lassen.
Du könntest beim Speichern des Cookies auch gleich schon Ablaufwert in Timestamp speichern , dann wäre es vielleicht auch einfacher.
Vielleicht gebe es auch nee Möglichkeit mit Session, dafür muss man erstmal wissen, warum du das vorhast , gibt es da einen Grund fü das der User die Ablaufzeit wissen muss?


RE: Cookie Ablaufzeit anzeigen - BastiBln - 10.07.2022

Ja gerne:
PHP-Code:
setcookie('shoppinglist'$filetime() +3600); 

Im Cookie ist der Pfad zu einer Datei gespeichert, der User soll informiert sein wie lange die Datei noch nutzbar ist.

Für ein Code Beispiel wäre ich ganz dankbar.


RE: Cookie Ablaufzeit anzeigen - admin - 11.07.2022

Ich dachte immer das man das ablaufdatum auslesen kann , aber finde nichts darüber. Wenn das nicht gehen sollte muß man halt die Ablaufzeit im Cookie speichern.

Mit extra Cookie wo die Zeit gespeichert ist könnte man es so machen

Code:
<?php
$file='bla/bla/file.php';
setcookie('shoppinglist', $file, time() +3600);
setcookie('shoppinglist_timer', time() +3600, time() +3600);
?>
<body>
<p id="zeit"></p>
</body>
<script>
function getCookieValue(a) {
   const b = document.cookie.match('(^|;)\\s*' + a + '\\s*=\\s*([^;]+)');
   return b ? b.pop() : '';
}

console.log(document.cookie);
function getTimestamp(){
    return Math.floor(new Date().getTime() / 1000);
}
var timer=setInterval(function(){
var rest=(getCookieValue('shoppinglist_timer')-getTimestamp());
if(rest>0){
    document.getElementById('zeit').innerHTML='Noch '+rest+' Sekunden gültig';
}else{
    document.getElementById('zeit').innerHTML='ENDE';
    clearInterval(timer);
}
},1000);
</script>



RE: Cookie Ablaufzeit anzeigen - BastiBln - 13.07.2022

Super, das funktioniert auf jeden fall schonmal.

Wie muss ich die Umrechnung formatieren, dass das als Counter, so aussieht: 00:58:24?
Hab schon einiges probiert + google aber ich kriegs nicht hin :/

Vielen Dank!


RE: Cookie Ablaufzeit anzeigen - admin - 14.07.2022

Hier sind ein paar Beispiele.
https://stackoverflow.com/questions/847185/convert-a-unix-timestamp-to-time-in-javascript


RE: Cookie Ablaufzeit anzeigen - BastiBln - 15.07.2022

Jawohl, habs hinbekommen. Man muss nur nach dem Richtigen suchen^^

Vielen Dank!