Mootools PHP Chatbox

Door Arian Stolwijk, 15 jaar geleden, 2.457x bekeken

Dit is een simpele chatbox die gebruik maakt van het Mootools javascript framework.

Het heeft maar 3 bestanden nodig.
Eentje met het berichten venster en het invulveld (index.php)
de 2 voor de dataverwerking. Wat op de server gebeurd dus. (chatboxserver.php)
en de 3 is het mootools framework (mootools.js)

Het script verwijderd oude berichten automatisch. Dit is om te voorkomen dat er 1000den records komen die niet eens gebruikt worden.

Deze bestanden kan je gewoon uploaden.
Even een sql tabel aanmaken met de onderstaande sql. en in chatboxserver.php even aanpassen zodat hij ook werkelijk verbinding maakt met de mysql server.

De sql
CREATE TABLE chatbox (
id int(10) NOT NULL auto_increment,
userid int(10) default NULL,
nick varchar(255) default NULL,
msg varchar(255) default NULL,
tijd datetime default NULL,
PRIMARY KEY (id)
);

Deze chatbox maakt gebruik van het Mootools framework
Deze is te downloaden op http://mootools.net/download
De componenten die je moet aanklikken zijn:
AJAX, FX.Scroll en Window.DomReady, alle andere gaan dan automatisch mee.
Download het bestand dan onderaan de pagina (met Packer Compression) en sla op als mootools.js of download hem van http://www.aryweb.nl/voorbeelden/chatbox/mootools.js


(in mijn voorbeeld werkt de online userlijst niet. Dit komt omdat mijn MySQL server online nog wat oud is bij mijn host... en deze functie nog niet ondersteund. Op mijn localhost met MySQL 5 had ik nergens last van)

Gesponsorde koppelingen

PHP script bestanden

  1. mootools-php-chatbox

 

Er zijn 19 reacties op 'Mootools php chatbox'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Tom K
Tom K
15 jaar geleden
 
0 +1 -0 -1
Goed script ga hem ook gebruiken!
Chris
Chris
15 jaar geleden
 
0 +1 -0 -1
Leuk script, bedankt!

Edit:

Wel jammer van je error bij je voorbeeld :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
Online users
You have an error in your SQL syntax near '(NOW(),tijd)) < 300 ORDER BY id ASC' at line 8
GaMer B
GaMer B
15 jaar geleden
 
0 +1 -0 -1
Bij online users staat bij mij:
Quote:
You have an error in your SQL syntax near '(NOW(),tijd)) < 300 ORDER BY id ASC' at line 8


Verder erg leuk scriptje :) Misschien leuk voor real-time support?
Shadowgf
shadowgf
15 jaar geleden
 
0 +1 -0 -1
Kan je deze ook op 1 of andere manier op een irc server aansluiten,zodat als iemand je op je website registreerd je ook automatish voor de mircchat registreerd? Of weet iemand dit,want ik heb nu gewoon een javaaplet op de mirc, niet aangesloten op mijn login,maar ik wil dat mensen die zich registreren voor de site ook direct automatish op de irc server zich registreren. Als iemand dit weet pm me even, alvast bedankt.
Arian Stolwijk
Arian Stolwijk
15 jaar geleden
 
0 +1 -0 -1
Quote:
You have an error in your SQL syntax near '(NOW(),tijd)) < 300 ORDER BY id ASC' at line 8


Quote:
in mijn voorbeeld werkt de online userlijst niet. Dit komt omdat mijn MySQL server online nog wat oud is bij mijn host... en deze functie nog niet ondersteund. Op mijn localhost met MySQL 5 had ik nergens last van
Arian Stolwijk
Arian Stolwijk
15 jaar geleden
 
0 +1 -0 -1
De online user list doet het ook... ipv een MySQL functie heb ik gewoon de date() functie gebruikt en daar de benodigde tijd vanaf getrokken. Kijk voor de code onder het voorbeeld...
Hipska BE
Hipska BE
15 jaar geleden
 
0 +1 -0 -1
Er is nog veel werk aan..

Er zitten nu 5 Hipska's in die chatbox en om de minuut ga je vanzelf naar www.porno.nl.... Hmmm interessant
Leroy Boerefijn
Leroy Boerefijn
15 jaar geleden
 
0 +1 -0 -1
@hipska, ja idd :P

en ik zie het nut van het grote zwarte scherm met hallo erop ook niet :P
Arian Stolwijk
Arian Stolwijk
15 jaar geleden
 
0 +1 -0 -1
Dat kwam meer omdat één van de hipska's met html zat te kloten...

maar dat is nu wel opgelost dmv < en > te vervangen... niet gewoon met htmlentities omdat hij toen van é è ë etc. hele rare tekens ging maken..
Hipska BE
Hipska BE
15 jaar geleden
 
0 +1 -0 -1
nog een opmerking: Als ik typ blijft mijn tekst staan na een enter te drukken.

Dan moet ik telkens alle tekst wissen voor ik opnieuw kan typen.
Arian Stolwijk
Arian Stolwijk
15 jaar geleden
 
0 +1 -0 -1
Quote:
nog een opmerking: Als ik typ blijft mijn tekst staan na een enter te drukken.

Dan moet ik telkens alle tekst wissen voor ik opnieuw kan typen.


Hmm, dat heb ik niet (Opera, Firefox, IE7) dat had ik als het goed is echt verholpen met de regel:
$('msg').setProperty('value',''); ...
Hipska BE
Hipska BE
15 jaar geleden
 
0 +1 -0 -1
misschien is de normale manier nog beter ;-)

document.msg.value = '';
T-Xorcist
T-Xorcist
15 jaar geleden
 
0 +1 -0 -1
Chat via MySQL zie ik sowieso niet zitten en is zeker niet realtime. Je kan beter een IRC applet downloaden.
Arian Stolwijk
Arian Stolwijk
15 jaar geleden
 
0 +1 -0 -1
Quote:
Chat via MySQL zie ik sowieso niet zitten en is zeker niet realtime. Je kan beter een IRC applet downloaden.

Als je mbv AJAX elke seconde controlleert op nieuwe berichten gaat het toch al best realtime aanvoelen hoor...
Jelmer -
Jelmer -
15 jaar geleden
 
0 +1 -0 -1
Quote:
Chat via MySQL zie ik sowieso niet zitten en is zeker niet realtime. Je kan beter een IRC applet downloaden.

De truuc zit hem in het direct tonen van het bericht zodra je op [enter] drukt, en op de achtergrond opstuurt. Zo werken MSN en IRC ook vaak. Het voelt realtime, maar dat is het niet helemaal. Maar zo lang je niet naast elkaar zit heeft niemand het door. En zeg nu eerlijk, de enige die 2 instanties van dezelfde chatbox open heeft staan is diegene die hem maakt.
Jeroen Koning
Jeroen Koning
15 jaar geleden
 
0 +1 -0 -1
Access denied for user 'vhostswww'@'localhost' (using password: NO)

Dat is de melding die bij Online users verschijnt... De teller 'Laatste update' zie ik wel lopen, verder geen effect! Dus ook geen verzonden berichten

Suggestie wat ik kan proberen?
En alvast deze vraag: wat doe ik als ik op een pagina meerdere chatboxen (rooms?) tegelijk wil hebben?
Jeroen Koning
Jeroen Koning
15 jaar geleden
 
0 +1 -0 -1
Hm, wat te kort berichtje... aanvulling:

Te zien op http://royal.justfree.com/chat/index.php
De login in db.php werkt - getest.
Jeroen Koning
Jeroen Koning
15 jaar geleden
 
0 +1 -0 -1
Mijn access denied probleempje is opgelost: blijkbaar toch een onjuiste login die nog door de server werd aangeroepen.

Toch is mijn echte probleem er nog: Als ik een bericht verstuur verschijnen er allemaal lege regels (\n\n\n\n\n enz.) in de div met id="log_res"
Graag hulp!!

[uit eerdere post: En alvast deze vraag: wat doe ik als ik op een pagina meerdere chatboxen (rooms?) tegelijk wil hebben? ]
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Suzan
Suzan
15 jaar geleden
 
0 +1 -0 -1
Ik heb de chatbox geinstalleerd maar bij mij doet hij iets vreemds.
Hij blijft naar beneden scrollen zonder dat er iets gezegd wordt zodat er witte regels onstaan.

Dit is zeer irritant en ik kan maar niet vinden waarom hij dat doet.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. mootools-php-chatbox

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.