Dit kan je met een cookie het beste doen. Je controleert of de overlay bezocht is, en zo niet dan toon je die overlay eerst. En als iemand die cookies verwijderd, dan is het zijn keus.
Dan verzendt je pop-up plus cookie in dezelfde respons; is het cookie eenmaal gezet, dan volstaat een controle met if (isset($_COOKIE['x'])) of iets vergelijkbaars.
Tegen het wissen van cookies kun je helaas nauwelijks iets beginnen. Vandaar dat bij veel sites toch steeds weer om de oren wordt geslagen met dezelfde cookiewaarschuwing. Ik zou overwegen om die niet in een pop-up te tonen die de volledige webpagina blokkeert, maar bijvoorbeeld in een minder opdringerige footer of een snackbar.
Als je het per IP-adres wilt doen, zit er weinig anders op dan de IP-adressen opslaan. Dat kan in een heuse database, maar voor een tijdelijke en kleinschalige toepassing ook gewoon in een tekstbestand.
Bedenk wel wat dit doet bij terugkerende bezoekers: wat nu als iemand juist terugkeert voor die eenmalige actie? Moet dan juist die aanbieding niet nog een keer prominent worden getoond?
[quote="Jan Graneker op 09/01/2017 13:10:30"]
Wij hebben een eenmalige actie op de website ( ik haat zelf deze pop-ups). Maar ik wil eenmalig per IP-adres deze melding laten zien.
Je weet dat IP-adressen niet persoonsgebonden zijn? Dus binnen een bedrijf/netwerk kan er maar één iemand de popup zien.
[/quote]
Dit wordt dus gewoon per PC? Ip is inderdaad niet verstandig.
[size=xsmall]Toevoeging op 09/01/2017 13:42:33:[/size]
Ward van der Put op 09/01/2017 13:18:07
Als je het per IP-adres wilt doen, zit er weinig anders op dan de IP-adressen opslaan. Dat kan in een heuse database, maar voor een tijdelijke en kleinschalige toepassing ook gewoon in een tekstbestand.
Bedenk wel wat dit doet bij terugkerende bezoekers: wat nu als iemand juist terugkeert voor die eenmalige actie? Moet dan juist die aanbieding niet nog een keer prominent worden getoond?
Het is meer een uitleg naar de klant toe. Klant, wij hebben een actie kijk even op onze actie pagina. Deze pagina zal wel gewoon altijd zichtbaar blijven. Ik wil de klant niet blijven spammen met deze melding, maar eenmalig op attenderen.
De "vingerafdruk" IP-adres + HTTP user agent is redelijk uniek.
Zó uniek zelfs, dat je met gegevens die browsers prijsgeven individuele bezoekers kunt tracken zonder cookies.