1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Willkommen-Text bei der ersten Anmeldung?

Dieses Thema im Forum "PHP" wurde erstellt von arraybreak, 5. Mai 2012.

  1. arraybreak

    arraybreak Erfahrenes Mitglied

    Tag Zusammen,

    ist es möglich einen Inhalt nur einmal anzuzeigen, d.h. wenn sich der User zum ersten mal auf einer Seite anmeldet, wenn ja, wie? Ein Link würde auch reichen ;-)

    Gruß arraybreak
  2. sheel

    sheel Mod # I love Asm Moderator

    Hi

    prüf, ob ein bestimmtes Cookie gesetzt ist (zB. "ersterbesuch" oder irgendwas).
    Wenn ja: Inhalt nicht ausgeben.
    Sonst: Ausgeben und das Cookie neu anlegen (Dauer unbegrenzt).
  3. arraybreak

    arraybreak Erfahrenes Mitglied

    Danke zwar für deine schnelle Antwort, aber von dem verstehe ich grad nicht viel was du gesagt hast, wo kann ich den cookie ansehen? sorry bin noch echt Anfänger mit cookies
  4. sheel

    sheel Mod # I love Asm Moderator

    Code (PHP):
    1.  
    2. if(!isset($_COOKIE['erstbesuch']))
    3. {
    4.     setcookie('erstbesuch', '1', time()+31536000);
    5.     //Inhalt ausgeben
    6. }
    7.  

    Wenns das Cookie schon gibt, wird der if-Block übersprungen.
    Wenn nicht, wird es gemacht, dann die Ausgabe.
    So kommts nur beim beim ersten Mal.

    Die lange Zahl sind die Sekunden in einem Jahr.
    Das Cookie bleibt also maximal vom Setzzeitpunkt weg ein Jahr lang ("Unendlich" geht nicht).
    Zuletzt bearbeitet: 5. Mai 2012
  5. arraybreak

    arraybreak Erfahrenes Mitglied

    Also dieser Code reicht aus um Inhalt nur einmal anzuzeigen, sonst ist nichts mehr nötig, richtig?
    Noch eine blöde Frage, wie kann ich den Video im Vordergrund z.b. mit prettyphoto anzeigen lassen? oder einen Text mit prettyphoto. (prettyphoto ist bereits installiert, ist wie lightbox)
  6. ComFreek

    ComFreek Mod | @comfreek Moderator

    Allerdings versagt die Technik, wenn der Nutzer die Cookies regelmäßig löscht!

    Deshalb würde ich eher dazu raten, dies mit einer Datenbank zu realisieren.
    Wenn du bereits die Logins protokollierst (z.B. Tbl. logins), dann geht das mit einer Abfrage, z.B.:
    Code (SQL):
    1.  
    2. SELECT COUNT(*) FROM logins WHERE successful=1 LIMIT 1
    3.  
    Ansonsten könntest du auch deiner users-Tabelle (, die du bestimmt hast) noch eine Spalte hinzufügen:
    Code (SQL):
    1.  
    2. firstLogin TINYINT(1) DEFAULT 0
    3.  
    Die du dann abfragst bzw. auch aktualisierst:
    Code (SQL):
    1.  
    2. SELECT COUNT(*) FROM users WHERE username='...' AND firstLogin=0;
    3. UPDATE users SET firstLogin=1 WHERE username='...'
    4.  

    PS:
    Übrigens sollte man noch in sheel's Code eine [phpf]isset[/phpf]-Abfrage einbauen, sonst erzeugt dies beim ersten Mal einen E_NOTICE-Hinweis.
    Außerdem: sollte nicht das Cookie gelöscht werden?
  7. sheel

    sheel Mod # I love Asm Moderator

    @isset: Mein Fehler.

    @Cookie löschen: Warum löschen?
  8. Lime

    Lime frisch fruchtig

    Entweder ich bin zu dumm, oder du hast einen Fehler gemacht, sheel.
    Er möchte den Text anzeigen, wenn kein Cookie gesetzt ist. Du prüfst, ob das Cookie gesetzt ist und gibst dann den Text aus - irgendwie kontrovers?

    Code (PHP):
    1.  
    2. if($_COOKIE['erstbesuch'] != '1')
    3. {
    4.     setcookie('erstbesuch', '1', time()+31536000);
    5.     //Inhalt ausgeben
    6. } else {
    7.     //Normalen Inhalt ausgeben
    8. }
    9.  
  9. ComFreek

    ComFreek Mod | @comfreek Moderator

    Ja, ich dachte genau andersherum, mein Fehler ;)

    Aber:

    1.) Man müsste das Cookie erstmal anlegen (z.B. beim Registrierungsprozess)

    2.) Und im IF-Block dann löschen oder auf 0 setzen, sonst kommt die Willkommens-Meldung immer wieder!



    @Lime:

    Die Technik, die sheel - glaube ich - verwenden wollte, ist, dass auch nach Löschung der Cookies der Text nicht angezeigt wird. Er wird nur beim Vorhandensein des Cookies angezeigt!
    Wobei das Cookie nach dem ersten Mal Anzeigen des Textes gelöscht werden sollte wie oben gesagt.

    Somit ist es egal, ob der Nutzer die Cookies löscht oder nicht!
  10. arraybreak

    arraybreak Erfahrenes Mitglied

    Hehe wie ich sehe kommen hier sogar erfahrene Coder durcheinander, ich muss ehrlich zugeben dass ich gerade selber nur Bahnhof verstehe, sorry. Ich würde nur gern einmaliges Willkommensgruß in einem kleinem Fenster der sich im Vordergrund aufmacht anzeigen lassen. Ich weiß nicht ob euch das weiterbringt aber ich benutze Wordpress als System.

    Ich verstehe wirklich noch nichts über Cookies, könnte jemand vielleicht ein genaueres (fehlerfreies) Beispiel zeigen ;-)
    Wäre euch natürlich sehr Dankbar.

    Gruß arraybreak
  11. thehacker

    thehacker Anhänger der Apachen

    Gibt noch ne 2. Idee, wenn du in die DB z.b. LoginFirst rein machst und der standart 1 ist, überprüf ob es 1 oder 0 ist (0 steht dafür, das die erst Anmeldung bereits war). Das war das einfachst was mit eingefallen ist :D

Diese Seite empfehlen