"Echtzeit alert()"

  • Heyho,
    ist es möglich, in einem Admin Panel zu gucken, welche Seite momentan unter welcher IP besucht werden und diesem dann per Ajax... eine alert Nachricht zu "schicken".
    Im Prinzip sollte es dann so funktionieren:


    1. Besucher X besucht Seite index.php.
    2. Admin Y sieht, dass Besucher X mit IP Z die Seite index.php besucht.
    3. Admin Y "schickt" Besucher X eine "alert-Nachricht".
    4. Besucher X "empfängt" die Nachricht.


    Es wäre schon genial, wenn das funktionieren würde. Man könnte den Besucher individuell unterhalten :D


    Mit freundlichen Grüßen,
    Philipp E.

  • Es ist möglich, nur müsstest du dann in bestimmten Zeitabständen per Ajax nachschauen, ob ein Nachricht hinterlassen wurde, bzw. ein Besucher eine Seite besucht hat.


    Anders funktioniert es nicht, da HTTP ein zustandsloses Protokoll ist und man daher nicht einfach auf eine automatische Zustandsänderung (die auf eine hinterlassene Nachricht, oder einen Besuch der Seite hinweist) warten kann.


    Ich würde dir das aber nicht empfehlen, da es erstens mit viel Serverlast (bei vielen Besuchern umso mehr) verbunden ist und da du damit auch recht leicht den Besucher verärgern kannst, wenn dauernd irgendwelche Nachrichten aufploppen.
    Zusätzlich wäre es auch für dich als Admin bei vielen Besuchern recht nervig, wenn du jedes Mal informiert werden würdest.

  • Wie Sören schon gesagt hat:
    Das funktioniert so nicht, weil der Webserver Daten nur auf Anfrage des Clients (Browsers) sendet, aber nie von sich aus.


    Man könnte höchstens eine Ajax-Funktion dafür einbauen, dass der Browser des Seitenbesuchers in regelmäßigen Abständen (z. B. 2 Sec) beim Server anfragt, ob es neue Daten gibt.
    Dazu müssen die Daten aber beim Server zwischengespeichert werden.
    Auf die weise gäbe es aber enormen Traffic und der Besucher wäre auch verwundert, warum so viele Anfragen verschickt werden, was insb. Nutzer langsamer Internetverbindungen stören dürfte.


    Außerdem würden die Nutzer wahrscheinlich von den vielen alert-Boxen gestört werden und die Seite schnell wieder verlassen.


    Gruß,
    webmaster3000

  • Also, ersteinmal muss ich etwas klar stellen:
    Es geht nur um die Funktion und darum, ob es geht. Ich werde nicht jedes Mal jedem Besucher eine Nachricht senden! Das wäre auch relativ dumm. Aber um zu üben und sich in Ajax einzuarbeiten, wäre das ganz gut und auch irgendwie lustig. Also theoretisch, aber praktisch schwierig. Wenn ich das jetzt gerne versuchen möchte, wie sollte ich vorgehen? Ich kann kein Ajax O__o

  • Wie gesagt, du musst die Nachrichten irgendwo zwischenspeichern, weil der Server sie nicht von sich aus versenden darf.


    Also brauchst du einen Speicherort, vorzugsweise Datenbank mit einer Tabelle, die Betreff, Inhalt und Empfänger empfänger für jede versendete Nachricht enthält.


    Dann ein PHP-Script, welche die von Ajax gesendeten Anfragen entgegennimmt und entsprechend des Benutzers die hinterlegten Nachrichten aus der Datenbank ausliest und an dein Ajax-Programm zurücksendet. Zum Schluss müssen die gesendeten Nachrichten gelöscht werden.


    Und, nicht zu vergessen, Internetnutzer, die den Spaß mitmachen.


    Gruß,
    webmaster3000


    EDIT: Ich würde dir dieses Tutorial empfehlen.