Heute programmiert: Ein einfacher Chat in einer einzigen PHP-Datei. Ohne Benutzerverwaltung, mit nur einem Passwort und mit einfachen Textdateien zur Benutzer- und Nachrichtenspeicherung.
Alles was benötigt wird ist ein Webserver der PHP unterstützt und die Prototype-Javascript-Bibliothek. Diese wird von der PHP-Datei eingebunden und für den Chat benutzt. Die Datei muss „prototype.js“ heißen und im gleichen Verzeichnis wie die PHP-Datei liegen. Prototype kann hier herunter geladen werden und ist in dem ZIP-Paket _nicht_ enthalten.
Da die AJAX-Calls alle zwei Sekunden laufen wenn der Chat aktiv ist, kann es bei vielen gleichzeitigen Benutzern zu einer ziemlichen Serverlast kommen. Also bitte mit Bedacht einsetzen oder die Werte entsprechend hochschrauben im Code.
Natürlich ist das Programm unter der GPL-Lizenz und xHTML 1.0 Strict valide
Viel Spaß beim Antesten: Download Exanto Webchat
Screenshot:
Servus. Du könntest hier ja auch mal solch einen Chat reinstellen. Auch wenn es nur als Demo ist, wo man sich treffen könnte.
Wie kann ich denn die Message loschicken, wenn ich ENTER drücke?
Hallo,
ja, es geht einfach über „Enter“. Bei mir hat das immer geklappt. Der Austausch der Nachrichten findet über eine Datei auf dem Server statt, und neue Nachrichten werden über einen Timestamp-Vergleich ermittelt.
Grüße,
Ingo
Hy,
saubere Arbeit, gefällt mir gut. Ich habe mal eine andere Frage:
Ich versuche nun, prototy einzusetzen. Wie funzt das mit Klassen und requests?
Hi Christian,
Vielleicht willst du erstmal pauschal etwas über OOP lernen? Dazu kann ich dir das Openbook Praxisbuch Objektorientierung von Galileo Press empfehlen. Es ist kostenlos und sehr gut zum „Einstieg“.
die Frage ist etwas zu allgemein um sie mal eben zu beantworten
Grüße,
Ingo
Bei mir geht bei IE aber bei Firefox 2.0.0.4 tut nichts. Ich bekomme kein fehler meldung auch keine Javascript feher nur „Server nicht gefunden“
Hm, ich habe das Teil unter Firefox 2.0 entwickelt, und tippe daher auf einen Fehler beim Server-Setup.
hi. coole sache. nur bei mir ist das script absolut nicht usable. als test habe ich mal „hallo“ eingegeben. jetzt kommt alle 2 sekunden die erneute ausgabe von „hallo“ in der box.
für mein verständnis sollte das nur 1x kommen, oder?
alex
Müssen dabei irgendwelche chmod-Rechte gesetzt werden (Verzeichnis, Datei)?
Jep, der Webserver muss Schreibrechte auf das Verzeichnis des Chats haben, da er dort Dateien anlegt in denen die Nachrichten zwischengespeichert werden.
Leider funktioniert der chat nicht mit der aktuellen Prototype Version 1.6
Die Texte werden mehrfach angezeigt
Dasselbe Problem habe ich auch. Wo liegt der Fehler? Es ist so, dass die User erst auf einmal aus der Liste verschwinden und dann der text immer wieder ausgelesen und doppelt angezeigt wird, scheint aber am Ajax/Javascript Teil zu liegen. Könnte mir da jemand weiterhelfen?
Danke!
Hi,
ich habe momentan leider keine Zeit das Skript zu debuggen… es war auch eher ein Proof-of-Concept ursprünglich.
Hallo!
der Fehler liegt in der Prototyp.JS nehmt einfach die 1.50 vom 8.Januar 07 die funktioniert, bei den andern habe ich auch den selben Fehler gehabt!
frage wenn ich mich in den chat einloggen will muss mann sich anmelden und passwort eingeben ja aber vorher muss mann sich ja regestrieren ja aber nur wo und dann steht darunter unter anmelden „fehler bei der anmeldung“ kann mir da jemand hefen
Hallo marco,
das Passwort ist immer gleich, das ändert man einfach in der Quelldatei des Chats. Es gibt keine Benutzerregistrierung bei dem Chat, ist eben nur ein einfaches Programm.
macht einfach insertion: Insertion.top, statt bottom in der Ajax.PeriodicalUpdater func. Dann klappts auch mit dem Nachbarn
Naja hab irgendwie das selbe problem.. wie soll man bei der Anmeldung erstmals in den chat kommen?
Laut php code
ist das Passwort : PASSWORD ?
Und der username!?
Ups soory das ich Spame seh eben das ist ne Konstante also das passwort lautet Webchat nicht PASSWORD.. und der Username ist egal
Bei mir ist es so, dass wenn ich den chat aktualisiere, dass die nachrichte dann gelöscht werden
Was soll ich machen ???
nicht aktualisieren
Ich wollte diesen Chat mal auf XAMPP testen. Allerdings kann ich mich nicht einloggen. In der Quelldatei finde ich nur einen Verweise auf eine user.txt welche nicht existiert. Wie ist diese aufgebaut? Danke!
Siehe zwei Kommentare weiter oben
Das Ding ist wie gesagt nur Proof-of-Concept gewesen damals und hat keine Nutzerverwaltung.
Diese Funktion muß ersetzt werden. Das behebt den Fehler, daß die Nachricht alle 2 Sekunden auftaucht – außerdem solltet ihr die Wiedholfrequenz in dem Ajax Code auf 6 Sekunden setzen – Viel Spaß
Wiederhol Frequen auf 6 Sekunden :s
Hi,
ich danke dir für dieses Skript.
Habe etwas einfaches gesucht und dein Skript trifft genau das.
Danke vielmals dafür!
None