Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
506
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    arraybreak ist offline Mitglied Gold
    Registriert seit
    Jan 2012
    Beiträge
    121
    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. #2
    Avatar von sheel
    sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.727
    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).
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    arraybreak ist offline Mitglied Gold
    Registriert seit
    Jan 2012
    Beiträge
    121
    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. #4
    Avatar von sheel
    sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.727
    PHP-Code:
    if(!isset($_COOKIE['erstbesuch']))
    {
        
    setcookie('erstbesuch''1'time()+31536000);
        
    //Inhalt ausgeben


    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).
    Geändert von sheel (05.05.12 um 16:44 Uhr) Grund: Ich sollte heute keinen Unsinn mehr schreiben
    arraybreak bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    arraybreak ist offline Mitglied Gold
    Registriert seit
    Jan 2012
    Beiträge
    121
    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. #6
    Avatar von ComFreek
    ComFreek ist gerade online Mod | @comfreek
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    3.253
    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
    
    SELECT COUNT(*) FROM logins WHERE successful=1 LIMIT 1
    Ansonsten könntest du auch deiner users-Tabelle (, die du bestimmt hast) noch eine Spalte hinzufügen:
    Code sql:
    1
    
    firstLogin TINYINT(1) DEFAULT 0
    Die du dann abfragst bzw. auch aktualisierst:
    Code sql:
    1
    2
    
    SELECT COUNT(*) FROM users WHERE username='...' AND firstLogin=0;
    UPDATE users SET firstLogin=1 WHERE username='...'


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

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  7. #7
    Avatar von sheel
    sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    6.727
    @isset: Mein Fehler.

    @Cookie löschen: Warum löschen?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  8. #8
    Avatar von Lime
    Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    581
    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?

    PHP-Code:
    if($_COOKIE['erstbesuch'] != '1')
    {
        
    setcookie('erstbesuch''1'time()+31536000);
        
    //Inhalt ausgeben
    } else {
        
    //Normalen Inhalt ausgeben

     

  9. #9
    Avatar von ComFreek
    ComFreek ist gerade online Mod | @comfreek
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    3.253
    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!
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  10. #10
    arraybreak ist offline Mitglied Gold
    Registriert seit
    Jan 2012
    Beiträge
    121
    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. #11
    Avatar von thehacker
    thehacker ist offline Anhänger der Apachen
    Registriert seit
    May 2011
    Ort
    Im Land der Apachen
    Beiträge
    245
    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
     
    Ein DANKE wäre net wenn der Beitrag geholfen hatt.

    Wieder da:
    Alenan

Thema nicht erledigt

Ähnliche Themen

  1. Verbesserungsvorschläge willkommen
    Von yasuma im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 19.09.07, 01:35
  2. Verbesserungsvorschläge herzlichst willkommen !!
    Von Vale-Feil im Forum Creative Lounge
    Antworten: 11
    Letzter Beitrag: 12.08.05, 03:28
  3. Herzlich Willkommen
    Von oezer im Forum Content Management Systeme (CMS)
    Antworten: 14
    Letzter Beitrag: 29.08.02, 15:58