Seite 1 von 1
einmaliges popup beim betreten des forums
Verfasst: 06.06.2007 23:40
von red-head
hallo zusammen!
ich würd gern in mein forum ein popup einbauen, welches sich nur ein einziges mal öffnet.
das popup beinhaltet eine ankündigung auf ne aktion, die ich angeschubst habe.
ich hab auch schon geschafft, dass sich ein popup öffnet, wenn ich mein forum öffne. wenn ich das popup fenster dann aber schließe, kommt es bei jedem neuen seitenaufruf im forum wieder.
das geht ganz schön auf den senkel.
gibt´s da irgendeine möglichkeit sowas zu unterbinden?
kenn mich leider überhaupt rein garnicht mit sessions und/oder cokkies aus...
bin für jeden tip zu haben...
Verfasst: 06.06.2007 23:57
von Jan500
ich würde einfach in der phpbb_users eine neue spalte machen wo mit 1 ( schon gesehn) und 0 (noch nicht gesehn) eingteragen wird ob der user das popup schon gesehn hat...
das wird dann beim seitenaufruf geprüft und beim sehen in die db eingetragen
Jan
Verfasst: 07.06.2007 00:02
von red-head
hab ich mir auch schon überlegt...
aber würde das auch nicht registrierten besuchern das popup zeigen?
bin der meinung, dass das nicht funtioniert...
die aktion soll ja jedermann zugänglich sein - auch wenn man bei mir nicht registriert ist...
Verfasst: 07.06.2007 00:08
von Jan500
hm ne dann würden gästen das popup nicht angezeigt
sonst würde der code so aussehen:
if($userdata['popup_shown'] != 1)
{
$template->assign_block_vars('show_popup', array());
$sql = "UPDATE " . USERS_TABLE . "
SET popup_shown = 1
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update show_popup_status user', '', __LINE__, __FILE__, $sql);
}
}
nach dem system kannst du auch ein cookie setzen ... ahb dazu jetzt leider keine zeit dir das genau zu erklären... aber hier im forum sollte öfters stehen wie man das macht
Jan
Verfasst: 14.12.2008 01:03
von Sly-com
Hi eine weitere möglichkeit wäre doch das öffnen durch kontrollieren der IP steuerbar dazu evtl noch einenzeitfaktor...
Also kurz ip xy ist nicht in der liste also zeige ich popup. Ip wird nach xy Zeit wieder gelöscht. Entweder nach 5 min falls mehrere in einem netzwerk die gleiche ip haben oder nach 12 stunden. und gleichzeitig abfragen ob es ein eingeloggter user war, damit nicht dessen ip genommen wird sondern wie vorgeschlagen per user tabel geregelt wird. Außerdem sollte auch hier nach xy tagen der wert wieder von 1 auf null gestellt werden, denn ein einziges anzeigen würde der user wohl nicht für voll nehmen.
Nur mal so als Idee.
Verfasst: 14.12.2008 13:04
von Dave
Code: Alles auswählen
$user->cookie_data['show_popup'] = request_var('show_popup', 0, false, true);
if (empty($user->cookie_data['show_popup']))
{
//popup
}
MfG
Dave