CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
14.03.2006, 13:06:32
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
Über neue private Nachricht informieren
Ich würde gerne eine Funktion schreiben die anzeigt wenn ein User eine neue private Nachricht hat.
Man könnte in jeder Seite, eine Datenbankabfrage ausführen die prüft ob neue Nachrichten vorhanden sind.
Halte ich aber für zu umständlich, außerdem wird damit wieder die Datenbank belastet.
Eine Idee wäre wenn der Benutzer angemeldet ist, eine Session Variable zu registrieren ($_SESSION["newmessage"]),
wenn der Benutzer eine neue Nachricht erhalten hat. Da sowieso auf jeder Seite gepüft wird ob der Benutzer
angemeldet ist könnte ich das direkt mit der Überprüfung einer neuen Nachricht kombiniern.
Sollte das der Fall sein wird auf der Seite angezeigt dass eine neue private Nachricht vorhanden ist.
Das Problem an der Sache ist, dass das script zum hinzufügen einer neuen Nachricht ja vom
Absender(und damit von seiner Session) gestartet wird. Um meine Idee zu verwirklichen müsste ich
eine Variable für eine bestimmte Session, die vom Empfänger, registrieren, was bedeuten würde dass ich von außen auf die
Session zugreifen muss, was wohl nicht möglich sein wird(Sicherheitsproblem).
Wie kann ich denn in dieser Richtung eine Lösung finden, oder sollte ich besser komplett umdenken?
|
14.03.2006, 22:29:25
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Über neue private Nachricht informieren
Mit reinem PHP ohne eine Abfrage (egal wie) wird sich nichts machen lassen. Wie soll sonst die Information transportiert werden. Eine Möglichkeit wäre zum Beispiel aber bei einer neuen Nachricht eine Datei (0 Byte) anzulegen (wenn nicht schon vorhanden) und beim Seitenwechsel darauf abzufragen. So umgehst Du jedoch schon mal die Datenbankabfrage. Nicht anders machen es auch die großen Anbietern von Freemail (web.de).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
14.03.2006, 23:38:15
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
AW: Über neue private Nachricht informieren
Die Nachrichten und die Anzahl der neuen werden sowieso in der DB gespeichert.
Das was ich vorhabe ist dass wenn der User eingeloggt ist, sofort angezeigt wird ob dass er eine neue Nachricht hat.
Es muss also nur temporär gespeichert werden dass eine neue Nachricht da ist, also solange der User online ist oder er das Postfach öffnet.
|
15.03.2006, 00:00:20
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Über neue private Nachricht informieren
Wo(bei) ist denn dann Dein Problem?
Der User meldet sich an, eine Funktion schaut in seinem Postfach nach, Post vorhanden (Flag=TRUE) bzw. keine Post vorhanden (Flag=FALSE). Merken des Flags in Cookie bzw. Session bis zur Abmeldung und dann das Flag löschen. Der Traffic auf der Datenbank sollte dabei nicht so groß sein, das sich daraus Probleme ergeben. Es werden sich ja nicht alle (1..1000) User gleichzeitg anmelden und das in der Stunde 60 mal - oder?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
15.03.2006, 00:08:41
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
AW: Über neue private Nachricht informieren
Und was ist wenn der User eine Nachricht bekommt wenn er schon angemeldet ist. Nach dieser Lösung würde er das erst bei der nächsten Anmeldung mitbekommen.
Das nach der Anmeldung zu überprüfen ist ja kein Problem, aber ich möchte das dass auch angezeigt ist, während er online ist. So können 2 User die eingeloggt sind miteinander kommunizieren, da sie direkt sehen wenn sie ne neue Nachricht haben.
|
15.03.2006, 04:22:44
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
|
|
AW: Über neue private Nachricht informieren
Zitat:
Zitat von koerschgen2001
Ich würde gerne eine Funktion schreiben die anzeigt wenn ein User eine neue private Nachricht hat.
|
Das Fahrrad wurde schon mehrfach erfunden.
Bevor Du lange überlegst:
a. ohne Datenbank geht es nicht.
b. eine Änderung des Sessionmechanismus, daß session_1 mit session_2 Infos austauschen, ist dann möglich, wenn als Speichermedium eine Datenbank eingesetzt wird. http://de3.php.net/session_set_save_handler (Userkommentare)
|
15.03.2006, 09:24:58
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
AW: Über neue private Nachricht informieren
Zitat:
Das Fahrrad wurde schon mehrfach erfunden.
|
Das dachte ich mir auch, habs aber bisher nicht gefunden.
|
16.03.2006, 10:44:36
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
AW: Über neue private Nachricht informieren
Zitat:
Das Fahrrad wurde schon mehrfach erfunden.
|
Wie wurde es denn erfunden. Ein paar Quellen wo ich Beispiele finde wäre nicht schlecht.
Ich könnte mir auch son fertiges Forum (wbb, phpbb...) nehmen und versuchen darin diese Funktion zu finden.
Aber das wird wohl seeeeehr lange dauern.
Besser wäre wenn mit jemand ein Beispiel, Lösungsansatz, etc dafür geben könnte.
|
16.03.2006, 16:03:23
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
AW: Über neue private Nachricht informieren
Zitat:
Zitat von koerschgen2001
Besser wäre wenn mit jemand ein Beispiel, Lösungsansatz, etc dafür geben könnte.
|
Haste doch hier von meikel gekriegt.
|
16.03.2006, 16:25:52
|
Anfänger
|
|
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
|
|
AW: Über neue private Nachricht informieren
Zitat:
eine Änderung des Sessionmechanismus, daß session_1 mit session_2 Infos austauschen, ist dann möglich, wenn als Speichermedium eine Datenbank eingesetzt wird.
|
Zitat:
Haste doch hier von meikel gekriegt.
|
Also doch die Sache mit den Sessions. Dachte nicht dass ich mit meiner Idee direkt eine sinnvolle Lösung treffe.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:15:44 Uhr.
|