Einmalige Aufforderung an Gäste im Forum

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Einmalige Aufforderung an Gäste im Forum

Beitrag von Seether »

Hallo.

Mir schwebt folgendes vor:
Gäste, die mein Forum betreten sollen eine Aufforderung zur Anmeldung erhalten. Diese Aufforderung soll im Vordergrund der Forenübersicht postiert werden, sprich ein Teil der Übersicht wird verdeckt. Vergleichbar mit der Werbung die man von Ebay teilweise sieht.
Weiterhin soll diese Aufforderung aber nur einmal pro Gast angezeigt werden, sprich wenn er die Werbung wegklickt möge sie nicht mehr angezeigt werden.


Ich habe das ganze nicht ins Modforum gesetzt, da ich denke, dass es nur ein Codeschnipsel ist.


S.
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Re: Einmalige Aufforderung an Gäste im Forum

Beitrag von MrMind »

Seether hat geschrieben:Ich habe das ganze nicht ins Modforum gesetzt, da ich denke, dass es nur ein Codeschnipsel ist.
Haste gedacht, denkste ;)

So einfach ist das net. Das Prinzip und der Lösungsweg ist simple (mit ein paar Hacken), aber die Umsetzung kann langwierig sein ;)

Lösung(-sansatz):
  • - Beim laden der index.php muss geguckt werden ob der User angemeldet ist (autologin etvl.), wenn nicht, wird eine Variable (sagen wir mal: $popup_meldung) mit 1 gesetzt(Default sollte sie 0 haben). Diese wird im Header dann in ein JS-Script eingefügt.
  • - Das JS-Script checkt die Variable und öffnet gegebenfalls das PopUp-Fenster.
  • - Wird das PopUp Fenster geöffnet, setzt es automatisch ein Cookie, Beispiel:

    Code: Alles auswählen

    set_cookie('popup_gast',1,time()+2592000);
    . Dies setzt das Cookie für 30 Tage.
  • - Beim laden der Index.php muss nun das Cookie-Ausgelesen werden und wenn es vorhanden ist, dann wird die Variable (in unserem Beispiel: $popup_meldung) bei 0 belassen, ansonsten auf 1
Ein Beispiel für die Syntax im Header:

Code: Alles auswählen

<script language="javascript">
 var popup_open = {POPUP_VAR};

  if( popup_open )
  {
      window.open("URL_ZUR_DATEI","{L_FENSERTNAME}","width=310,height=400,left=0,top=0");
  }
</script>
Die Variablen {POPUP_VAR}, {L_FENSTERNAME} musste dann via assign_vars() zuordnen in der header.php.

Ich habe bewusst den Titel des zu öffnenden Fensters mit einer Variable bezogen, da, falls Board mehrsprachig, automatisch an der Default-Sprache sich anpasst.

Ich hoffe ich konnte weiterhelfen.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Wie ist das? Wird für Gäste auch eine Session angelegt?

Dann könnte man das doch darüber steuern, oder? Also, dass pro Session nur einmal die Nachricht angezeigt wird.

Danke schon mal für Deine Hilfe.


S.
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Und wie willste das machen???

Die Session bei phpBB sind nicht solche Session wie man sie kennt und oft anwendet. Sessions sind hier nur ein mit microtime() und md5() erzeugter Schlüssel.

Außerdem, wenn kein Session-Cookie auf dem Rechner platziert wird oder der User erst nach einer Zeit kommt, so das Sessiontimeout anspringt, wird es niergends gespeichert.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag von Jack9027 »

gibt doch schon einen mod für sowas:
http://www.phpbbhacks.com/download/700
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Ich habe es nicht getestet, aber da steht nur das hier
This hack will add a popup, suggesting to your guests, that they register for your forums.

Easily edited template for your own modification, colors, wording, etc.
Wenn es das ist was auf vielen Seiten zu sehen ist, dann meine ich das nicht. Da wird bei jedem Aufruf der index.php ein popup geöffnet


S.
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag von Jack9027 »

jo aber des is ja schonmal ein anfang. des musst halt bloss noch ein bisschen umschreiben...
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Habe es mir runter geladen. Hat mir nicht mehr Wissen gebracht. Da steht eigentlich nur an welcher Stelle man den Code des Popups einbauen muss.

S.
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Seether hat geschrieben:Habe es mir runter geladen. Hat mir nicht mehr Wissen gebracht. Da steht eigentlich nur an welcher Stelle man den Code des Popups einbauen muss.

S.
Das ist ja auch normal für eine Hackanleitung. ;)

Am besten auf einem lokalem Webserver das phpBB installieren und den Hack einbauen. Danach testen, ist es genau das, was du suchst, dann auch auf dem online Board einbauen, wenn nicht, dann versuchen so umzubauen den Code, das es deine Erwartungen entspricht.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Das sieht man auf einen Blick, dass es nicht das richtige ist.
<switch_user_logged_out> sagt doch schon alles :grin: . Es wird bei jedem Indexaufruf geöffnet.


S.
Antworten

Zurück zu „Coding & Technik“