Werbung beim ersten Seitenaufruf

  • Themenstarter Themenstarter crilla
  • Beginndatum Beginndatum
also ich dachte da wie folgt an $ip = getenv('REMOTE_ADDR'); bzgl. user id. denn es geht sonst über nichts anderes als über diesen weg zu erkennen ob der user schon hier war oder nicht und ob er die seite neu besucht oder nicht.

bei einer session müsste man ungeachtet dessen auch noch prüfen ob der user die seite verlässt und ob er wieder zur seite zurück kommt. denn dann müsste man die session verwerfen.

bei einer db kann man das wie schon erwähnt mit einem kleinen cronjob regeln das muss man nicht alle 24 stunden (weil sich da was aufblasen kann). zudem - wenn man eine datenbank wegen diesen zwei oder drei abfragen schon quält, dann ist die datenbank auch nichts wert. was ein server aushalten muss, muss auch eine db aushalten - ist meine meinung ;)

zudem kann man die vielfallt über die db wesentlich besser regeln. nehmen wir an, das bei einer bestimmten seite ein neues werbefenster geöffnet werden soll, dann kann man das recht einfach lösen.

andererseits - es gibt super programme für werbung. da muss man auch nicht auf diese art und weise etwas lösen ;)

noch was zu den projekten. wie gross sind die projekte tatsächlich von "privat oder kleinanbietern" im inet? wohl kaum so gross wie amazon oder sonstige vergleichbare namen. wäre es so, gäbe es sicherlich entsprechende progger die das selbst lösen könnten ohne hier nachfragen zu müssen ;)

noch was zur session - unabhängig davon ob die session aktuell ist - sie müsste mehrmals mit rückfragen geprüft werden. cookies kann man grundsätzlich vergessen, weil man einen nicht geringen teil von useren nicht erreichen würde. also muss schon eine cookieprüfung rein. wenn man das nun wiederzum inkl. der zeitprüfung und der löschfunktion der session zusammenschreibt, ist man weitaus mit mehr zeilen am ende als mit einer db lösung.

und noch mal - wenn das eine db nicht aushalten sollte, kann man auf diese generell verzichten. denn - und nun kommen wir auch mal zu einem grossprojekt - sollte das mal realisiert sein - ein grossprojekt - dann muss die db ohnehin mehrmals gequält werden und wenn dann zwei oder drei abfragen mehr dabei sind, dürfte das ohnehin nicht mehr ins gewicht fallen.

ich erwähne es auch noch mal bewusst wieder - die session ist dann frei für die entsprechenden geeigneten einbindungen die auch einen vielfälltigeren umfang haben als das einblenden eines fensters mit werbung ;)


------------------
hab noch was vergessen - über die db kann ich auch die ips speichern und prüfen wie oft z.b. der user da war und ab einer bestimmten anzahl die werbung ganz weg lassen. was ich sagen will ist, das einfach eine wesentlich grössere umfangreichere vielfallt vorhanden ist, werbung über die db laufen zu lassen.
 
ich erwähne es auch noch mal bewusst wieder - die session ist dann frei für die entsprechenden geeigneten einbindungen die auch einen vielfälltigeren umfang haben als das einblenden eines fensters mit werbung
Wie meist Du dass, dass die Session dann frei ist? Man kann auch mehrere Variablen in einer Session sichern.

noch was zur session - unabhängig davon ob die session aktuell ist - sie müsste mehrmals mit rückfragen geprüft werden. cookies kann man grundsätzlich vergessen, weil man einen nicht geringen teil von useren nicht erreichen würde. also muss schon eine cookieprüfung rein. wenn man das nun wiederzum inkl. der zeitprüfung und der löschfunktion der session zusammenschreibt, ist man weitaus mit mehr zeilen am ende als mit einer db lösung.
Ich weiss ja nicht, wie komplex Du Dir die Session-Funktionalität vorstellst, aber folgende 6 Zeilen sollten das Problem lösen:
PHP:
  session_start();
  if (!isset($_SESSION['werbung_gezeigt'])) {
    echo 'Werbung';
  } else {
    $_SESSION['werbung_gezeigt'] = TRUE;
  }
Nun bin ich mal auf Deine Datenbanklösung gespannt, mit wahrscheinlich einem SELECT-Statement, einem Update-Statement und ggf. den Cronjob nicht vergessen.

also ich dachte da wie folgt an $ip = getenv('REMOTE_ADDR'); bzgl. user id. denn es geht sonst über nichts anderes als über diesen weg zu erkennen ob der user schon hier war oder nicht und ob er die seite neu besucht oder nicht.
AOL-Nutzer mit permanent wechselnder IP bekommen dann immer die Werbung zu sehen.

bei einer session müsste man ungeachtet dessen auch noch prüfen ob der user die seite verlässt und ob er wieder zur seite zurück kommt. denn dann müsste man die session verwerfen.
Mit den Standardeinstellungen von PHP wird die Session automatisch verworfen, wenn das Browserfenster geschlossen wird. Also muss man sich PHP-seitig nicht darum kümmern.

zudem kann man die vielfallt über die db wesentlich besser regeln. nehmen wir an, das bei einer bestimmten seite ein neues werbefenster geöffnet werden soll, dann kann man das recht einfach lösen.
Mit Sessions doch auch. Je zu bewerbender Seite eine neue Session-Variable. Aber das Problem steht gar nicht zur Diskussion.


Schlussendlich will ich einfach nur darauf hinaus, dass sich das Problem mit Sessions mit weniger Code lösen lässt. Natürlich kann man's machen, wie man möchte. Viele Wege führen nach Rom. Aber ich will mir einfach nicht nachsagen lassen, dass Sessions sowas von unperformant und umständlich sind.

Wie gesagt, ich bin auch Deinen Code gespannt.

snuu
 
Zuletzt bearbeitet:
a) das die session frei ist für eben eigentl. passende projektarbeiten und übersichtlich.

b) ich weis, das session eben nicht komplex ist. aber in deinen 6 zeilen fehlt z.b. die zeitsteuerung und der teil, in welchem die session gelöscht wird, wenn der user die seiten verlässt.

c) meine datenbanklösung - ich erfinde nicht räder neu, wenn sie schon vorhanden sind und greife auf eine super arbeit von http://phpadsnew.com/two/ zurück.

d) aol - user - auch das problem ist mit obigem link geklärt.

e) die session wird nur verworfen, wenn das fenster geschlossen wird - standardmässig. was aber wenn der user die seiten per link verlässt ;)

f) mit weniger code und das sauber mit allen evtl.-täten wirst du nicht hinkommen. das ist die einfachste lösung - dein vorschlag.

insgesamt gibt es ja nichts gegen session zu sagen. ich finde nur, das eben eine session für anspruchsvollere aufgaben zu verwenden ist und mit werbung kann ich über db mehr machen als über eine sessionfunktion. zudem kann ich das werbeprojekt mehr und mehr über eine db ausbauen und das wird bei sessionlösungen dann schon wesentlich komplizierter. oder fasst ihr euren code x100 mal an? kaum. eine einfach offensichtliche lösung muss noch lange nicht die effektivste sein.

wie gesagt - ob session oder db - es bleibt jedem selbst überlassen. mehr vielfallt für die zukunft und den ausbau für werbeprojekteinbindungen ist über die db effektiver als über session. ist es eine einmalige sache - und dabei bleibt es eigentl. nie bei solchen ideen - ist session auch ok.
 
das die session frei ist für eben eigentl. passende projektarbeiten und übersichtlich.
in sessions kann man auch Arrays speichern, so dass man die Sessionvariablen auch thematisieren kann.

ich weis, das session eben nicht komplex ist. aber in deinen 6 zeilen fehlt z.b. die zeitsteuerung und der teil, in welchem die session gelöscht wird, wenn der user die seiten verlässt.
(...)
die session wird nur verworfen, wenn das fenster geschlossen wird - standardmässig. was aber wenn der user die seiten per link verlässt
Die Zeitsteuerung ist absolut überflüssig. Wer lässt schon ein Browserfenster mehr als 24 Stunden geöffnet? Ausserdem kann man für die Session festlegen, wie lange sie gültig sein sollen. Also sollte es auch keine Schwierigkeiten bereiten, falls es Nutzer gibt, die ihr Brwoserfenster nie schließen.

Die Ursprungsfrage des Threads war ja, wie man nur beim ersten Seitenaufruf Werbung anzeigt. Einfache Frage - einfache Lösung. Ich weiss nicht, warum man es noch unnötig komplizieren muss. Er wollte schließlich keine Verwaltung für eine Bannerrotation. Wobei wir bei diesem Thema wären:

meine datenbanklösung - ich erfinde nicht räder neu, wenn sie schon vorhanden sind und greife auf eine super arbeit von http://phpadsnew.com/two/ zurück.
Du willst mir also erzählen, dass er sich ein AdServer-Script mit einem Packvolumen von 2,38 MB herunter laden soll, um ein Problem zu lösen, welches er auch mit 6 Zeilen erschlagen kann? Damit wären ja Deine vorherigen Aussagen zur Performance wohl absolut nichtig.

snuu
 
ich will dir gar nichts erzählen. ganz im gegenteil. du bist von deinem können sicherlich überzeugt und das sogar so stark, das du nicht mal alles gelesen hast, was ich geschrieben habe.

ich schrieb im letzten text zusammengefasst:
wenn man es für eine einmalige sache macht - die werbung einblenden, dann zieht man session oder eine kleine db-lösung vor. allerdings ist es eben so, das solche aktionen nie einmalig bleiben sondern nach und nach ausgebaut werden.

genau deshalb nimmt man sich eben ein komplettes werbesystem und fertig.

soweit nun verstanden?

ich wiederspreche der session in keinster weise - falls du das mal in deine meinungsbildung und überzeugtheit bzgl. session aufnehmen könntest.
 
Zurück