Nighteyes: Notification Bar 10 Tage nicht erscheinen

Hallo zusammen,

ich habe eine Notification Bar an der oberen Seite der Webseite. Sie taucht auf wenn man die Seite besucht. Nun möchte ich das diese "BAR" 10 Tage nicht mehr erscheint sobald man auf einen Button geklickt hat. Jetzt ist es so das Sie bei jedem Seitenaufruf aufklappt.

Hat da jemand einen Vorschlag wie ich das realisieren kann?

Liebe Grüße Nighteyes

  1. Hallo Nighteyes,

    ich habe eine Notification Bar an der oberen Seite der Webseite. Sie taucht auf wenn man die Seite besucht. Nun möchte ich das diese "BAR" 10 Tage nicht mehr erscheint sobald man auf einen Button geklickt hat. Jetzt ist es so das Sie bei jedem Seitenaufruf aufklappt.

    Hat da jemand einen Vorschlag wie ich das realisieren kann?

    Falls sich deine Besucher anmelden müssen, kannst du die Information im Benutzerprofil speichern. Falls nicht, geht das nicht besucherbezogen sondern nur browserbezogen. Dazu könntest du den locale storage verwenden.

    Bis demnächst
    Matthias

    --
    Signaturen sind bloed (Steel) und Markdown ist mächtig.
  2. Moin,

    Aufgabe für ein Cookie. Wenn deine Seite vom Browser angefodert wird, sendet er sämtliche Cookies mit, die für diese Domain hinterlegt sind. Die Cookies sind also auf dem Server per PHP vorhanden und abfragbar.

    Beim ersten Aufruf ist natürlich kein Cookie da und du gibst deine Bar aus:

      if (!$_COOKIE['xyz'] )
      {
        // hier Ausgabe der Notification Bar
      }
    

    Wenn im Browser auf die Schaltfläche zum 10-tägigen Ausblenden der Bar geklickt wird, hast du zwei Möglichkeiten, the Cookie zu setzen: Javascript ohne Neu-Aufbau der Seite oder PHP mit Neu-Aufbau.

    The Cookie bekommt eine Gültigkeit von 10 Tagen, danach wird es nicht mehr an den Server ausgeliefert und die Bar wird wieder angezeigt.

    Wie man Cookies per Javascript setzt, liest du hier, wie man es mit PHP tut, hier.

    Linuchs

    1. Hallo Linuchs,

      Aufgabe für ein Cookie.

      Früher mal.

      Wenn deine Seite vom Browser angefodert wird, sendet er sämtliche Cookies mit, die für diese Domain hinterlegt sind.

      Genau. Warum muss diese Information bei jedem(!) Seitenaufruf um die halbe Welt reisen?

      Die Cookies sind also auf dem Server per PHP vorhanden und abfragbar.

      Wenn man denn per PHP über die Auslieferung der Leiste entscheiden möchte.

      Ich halte es für sinnvoller die Leiste mit JavaScript auszublenden. Warum JavaScript? Weil die Information im lokale storage nur mit JavaScript zur Verfügung steht. Das Ausblenden würde ich bewerkstelligen, indem ich der Leiste per JS eine passende Klasse gebe.

      Bis demnächst
      Matthias

      --
      Signaturen sind bloed (Steel) und Markdown ist mächtig.
      1. Hallo und guten Tag,

        Wenn deine Seite vom Browser angefodert wird, sendet er sämtliche Cookies mit, die für diese Domain hinterlegt sind.

        Genau. Warum muss diese Information bei jedem(!) Seitenaufruf um die halbe Welt reisen?

        Es müsste ja nur das Token, dass den User oder den Client kennzeichnet um die halbe Welt reisen. Der Rest könnte ja bei serverseitiger Lösung auch dort gespeichert werden. Man benötigt dann aber einen zusätzlichen Request, um die Bar zu schließen und dies auf dem Servcer bekannt zu machen.

        Die Cookies sind also auf dem Server per PHP vorhanden und abfragbar.

        Es reicht ein einziger.

        Wenn man denn per PHP über die Auslieferung der Leiste entscheiden möchte.

        eben! Das sollte der OP beantworten.

        Ich halte es für sinnvoller die Leiste mit JavaScript auszublenden. Warum JavaScript? Weil die Information im lokale storage nur mit JavaScript zur Verfügung steht. Das Ausblenden würde ich bewerkstelligen, indem ich der Leiste per JS eine passende Klasse gebe.

        Kommt darauf an, ob die Funktionalität benutzer- oder clientselektiv bereitgestellt werden soll. Auch das müsste der der OP beantworten. Vorher kann man gar nicht entscheiden, was besser ist.

        Grüße
        TS

  3. Hallo und guten Tag,

    ich habe eine Notification Bar an der oberen Seite der Webseite. Sie taucht auf wenn man die Seite besucht. Nun möchte ich das diese "BAR" 10 Tage nicht mehr erscheint sobald man auf einen Button geklickt hat. Jetzt ist es so das Sie bei jedem Seitenaufruf aufklappt.

    Hat da jemand einen Vorschlag wie ich das realisieren kann?

    Für einen Vorschlag mit "herkömmlicher Javascript-Technik" wäre z.B. hier
    http://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascript
    ein Einstieg zu finden.

    Man könnte das ZUklappen (unsichtbar machen) einer Bar vom Vorhandensein eines Cookies abhängig machen. Dann wäre die Bar immer da, wenn es kein Cookie gibt oder wenn es nicht abgefragt werden kann (JS fehlt plötzlich).

    Bliebe noch das Entfernen des Cookies: Entweder ein Löschdatum programmieren und es aktiv kontrollieren und löschen oder einfach ein passendes Gültigkeitsdatum vorgeben. Dann sollte sich das System (der Browser) selbst ums Löschen kümmern.

    Grüße
    TS