Chatbox V1.0

Door Bram Z, 20 jaar geleden, 4.584x bekeken

Naar aanleiding van dit script: http://www.phphulp.nl/php/scripts/6/348/
Heb ik begonnen met eigen chat systeem te maken. Het is erg basis, het kan ook plugins uitlezen en al.

Ook word je automatich gekickt achter zoveel seconden inactief + een userlist van wie aan het chatten is. Er word geen sessie gebruikt maar een cookie, zodat je maar 1 keer je gebruikersnaam moet ingeven.

Script zelf:
http://users.telenet.be/source/chat.zip
Mysql tables:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
CREATE TABLE `messages` (
  `id` int(5) NOT NULL auto_increment,
  `poster` varchar(30) NOT NULL default '',
  `bericht` varchar(255) NOT NULL default '',
  `ip` varchar(15) NOT NULL default '',
  `datum` int(12) NOT NULL default '0',
  `soort` varchar(50) NOT NULL default 'bericht',
  PRIMARY KEY  (`id`)
) ;


CREATE TABLE `users` (
  `username` varchar(30) NOT NULL default 'Nobody',
  `ip` varchar(15) NOT NULL default '',
  `lastid` int(10) NOT NULL default '0',
  `lastreaction` int(12) NOT NULL default '0',
  `active` int(1) NOT NULL default '1',
  `lastcheck` int(12) NOT NULL default '0'
);
?>

Gesponsorde koppelingen

PHP script bestanden

  1. chatbox-v10

 

Er zijn 60 reacties op 'Chatbox v10'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Guido Veenstra
Guido Veenstra
20 jaar geleden
 
0 +1 -0 -1
mmmmmmmm.... wel een leuk script maar wel dat nickname kiezen is eri
ook jammer dat er geen smilies zijn
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Tja is ook echt basis bedoeld, ook heb ik de timeout kick op 300 seconden gezet
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Mooi ding, lekker basic layout.
Zo te zien is het grote verschil tussen jouw en mijn versie dat je de opmaak en dergelijke allemaal al mee stuurt, terwijl ik die via javascript erin zet.
(En natuurlijk dat er eindelijk eens een userlist bij is gekomen!)

Je plugins zijn ook anders. (wat ik op zich wel jammer vind, anders kon ik die van mij makkelijk porten) NU moet je dus een lijst opgeven in de cfg.php.
(ik moet wel zeggen dat ik jouw methode om functies uit te voeren beter vind, maar je hebt geen mogelijkheid om help oid toe te voegen)
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Tja, het is ook een eerste versie he.
Christian
christian
20 jaar geleden
 
0 +1 -0 -1
nice marrrr moet het niet versie 3.0 zijn???
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Neen andere maker, ander script
DaeDaluz
DaeDaluz
20 jaar geleden
 
0 +1 -0 -1
Ik krijg melding als ik wil joinen van dat de nicks ' nobody' en ' nobody2' bezet zijn, en dan join ik met een andere nick en dan staan ze niet in de userslist :o
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Tja, foutje . Die users waren niet actief en worden dus gekickt wanneer jij volledig ingelogd bent. Maar hij moest ze verwijderen voor hij je username vroeg


20 jaar geleden
 
0 +1 -0 -1
ik snap die mysql niet waar moet ik dat zette
hoe open ik et
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Mysql uitvoeren op je db, met phpmyadmin of zo
Bjab
bjab
20 jaar geleden
 
0 +1 -0 -1
zijn er al plugins voor of nog niet ?
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Neen, kben bezig met v2 en daar zijn al 5 plugins voor


20 jaar geleden
 
0 +1 -0 -1
Indd ik snap dat niet met die MYSQL ik ben ook maar pas begonnen met php. Maar als ik de map chat in phpmyadmin zet geeft die nog altijd warnings van MYSQL
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Je moet eerst wat php en mysql leren denk ik


20 jaar geleden
 
0 +1 -0 -1
Dit is een heel goed script, alleen spijtig dat er te weinig aandacht geschonken is aan belangrijke details zoals (eerdervernoemd) smileys... Dit is een goede uitdaging voor de php-programmeurs om dit zelf te maken :) !

maar er is vooral een grote fout! -> op vlak meerder gebruikers op hetzelfde ip-adres!
Het script kan blijkbaar meerdere 'chatters' die gebruik maken van hetzelfde ip-adres niet aan! In netwerken zoals scholen is dit een probleem, er kan dan maar 1 iemand chatten.
Globaal genomen is het wel een goed script!
mvg
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Ik heb dit express gedaan, zodat je kon bannen van ip.
Trouwens smileys is supersimpel te maken en had ik gewoon geen zin in
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Daar zijn plugins voor ^^,
Christophe
Christophe
20 jaar geleden
 
0 +1 -0 -1
D@rk,

Ik begrijp het niet zo goed, je hebt het bannen op ip expres gedaan? Maar stel nu, in het voorbeeldje van de school (of ander netwerk), dat er een tiental chatters zijn en er daar één van is die 'slecht gedrag' vertoont. Er is dan de beheerder die hem bannt, maar dan zijn ook meteen die andere 9 chatters gebannd omdat zij met hetzelfde ip-adres surfen (-> netwerk!).

Een netwerk heeft meestal 1 extern ip-adres (dat is dat wat jij gebruikt) de verschillende chatters zitten op een verschillende computers met een verschillend INTERN ip-adres, wat onzichtbaar is voor iedereen buiten het netwerk. Jouw script ziet de verschillende chatters dan als chatters met hetzelfde (extern) ip-adres.

Ik denk dat je je script op dit punt nog zal moeten herzien!
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Hoe moet ik dan die 1ne gebruiker bannen van dat netwerk ?
Christophe
Christophe
20 jaar geleden
 
0 +1 -0 -1
Je kan eenvoudigweg een gebruiker bannen met een cookie: als je de gebruiker bannt, zorg dan dat er een cookie met inhoud 'gebannd' (zoals je zelf verkiest) wordt verstuurd.

bv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
setcookie ("naam_site","gebannd",time()+3600);
?>


De benamingen 'naam_site' en 'gebannd' maken niet uit, deze heb je alleen nodig voor de onderstaande test (zie dus lager). Het derde argument van de setcookie-functie is belangrijker, hierbij geef je de tijd mee hoelang een cookie bestaat = hoelang een gebruiker gebannt is. Je doet dan altijd time() plus het aantal seconden.

Dit is de test om te controleren of een gebruiker gebannt is, deze voer je dus bij elke gebruiker uit, als deze op je site is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(isset($_COOKIE["naam_site"]) && $_COOKIE["naam_site"]=="gebannd"){
  //gebruiker is gebannd
}else{
  //tegengestelde
}
?>


Het tweede deel van de test is eigenlijk overbodig, dit dient alleen om te controleren of de inhoud van de cookie wel gelijk is aan gebannd. Vermits je alleen een cookie verstuurd als de gebruiker geblokkeerd is, kan indien de cookie bestaat, de inhoud maar gelijk zijn aan 'gebannd'.


mvg
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Een beetje internetter heeft zo door dat hij door het weghalen van zijn cookie er weer op kan komen. Otewel: waardeloze techniek.

Ik wacht nog altijd op iemand die een script maakt die gebruikers kan verbannen aan de hand van hun vingerafdruk, of hun gedrag.
Christophe
Christophe
20 jaar geleden
 
0 +1 -0 -1
Beste Jelmer,

Vermits ip-bannen uitgesloten is, blijft er niets anders over dan cookies. (In eerste instantie had je nog kunnen werken met sessies, maar omdat die steunen op cookies maakt dat niet veel verschil).

Hier is al een les: voordat je beslist om van een stukje code te zeggen dat het een waardeloze techniek is, zou je misschien beter eens nadenken ipv zo impulsief te handelen. Ik zie geen ander techniek, misschien zijn het mijn brilglazen en zie jij het? Als je denkt dat je het beter kan, zeg mij dan eens op welke andere manier je dit bannen zou kunnen oplossen. Ipv de mensen uit te maken. Haha, ik wacht op je antwoord! Kan iemand die nog met lego speelt, zoiets vinden??

PS: denk je dat al de gebruikers van een website weten dat ze door een cookie te verwijderen, ze niet meer gebannd zijn?
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Wow! no offence!
Het is (het beste?) alternatief, maar het is niet goed. De beste manier is om van iedere computer iets unieks te vinden. Meestal is dat een ip-adres, maar in sommige geallen niet. Met een koekje kan je iemand dat geven, maar diegene kan zijn bestempeling ook weer weggooien (of nog erger, weizigen in iemand die hij eigenlijk niet is) Ik denk dus dat je een soort van sleutel moet maken van browser, ip en andere eigenschappen die je kan aflezen van een gebruiker. En daarop moet je iemand verbannen. Ik zeg alleen, als algemene uitspraak, dat bannen aan de hand van cookies, een waardeloze techniek is. Ik ben het ook eens met D@rks beslissing om dan maar te bannen op ip.
(Daarbij als dan iedereen van hetzelfde ip gebanned wordt, heeft diegene die zich misdroeg ook weer een boze meute op zich.)

Ik speel nog met lego, en ik kan koekies verwijderen, manipuleren en opeten.
En natuurlijk zullen niet alle gebruikers dat weten, maar (stel, je zit op school) als een het weet, verteld deze het door. Sterker nog, vroeger, in Netscape, werd er eerst gevraargd of je een cookie accepteerde.

Cookies zouden alleen kunnen werken tegen de domme IE-meute. (En helaas is dat 85% van de internettende wereldbevolking)

Mij hoef je geen les te leren, ik heb vakantie. En ik ga hier niet verder op in.
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Maar ik zal het zo invoegen dat je toch met meerdere users op 1 ip kan, En als er dan gebanned word is het de hele meute ..
Christophe
Christophe
20 jaar geleden
 
0 +1 -0 -1
Jelmer,

Sorry, ik ben wat hard van stapel gelopen. Ik was wat verschoten van je reactie. Ik vond het moeilijk om te aanvaarden dat iets waar ik een tijdje naar gezogd had als waardeloos werd bestelpeld... Geniet nog van je vakantie! :-)


20 jaar geleden
 
0 +1 -0 -1
hallo, wie kan er me even helpen met dit script

het is volledig geinstaleerd maar van zodra ik wil chatten moet ik mijn naam ingeven en die blijft dat venster steeds opnieuw geven

als je even kijkt op http://www.lekkertje.be/chat/chat/index.php
dan zie je direct welk probleem ik heb,

kan er me even iemand helpen want denk wel dat dit een geweldig script is

groetjes Tom


20 jaar geleden
 
0 +1 -0 -1
In zulke gevallen van die ip ban moet je gewoon hard zijn....
je kan trouwens ook wel een feedback form laten zien als iemand geband is dat die gelijk een reden geeft waarom die de volgende x wel goed gedrag zal laten tonen...
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
@tom, ik kan het script niet zien.

Ik ben momenteel bezig aan script 2, het zal volledig opnieuw gescript zijn. Hier enkele nieuwe moeglijkheden:

- Alles staad in 1 grote pagina dus is gemakkelijker te instaleren
- Meerdere users op 1 IP
- Geen cookies meer maar sessies
- 5-10 nieuwe commandos
- admin login
- private message naar andere users in het channel
- Alles instelbaar met mysql, zelf de achtergrondkleur en de grootte van de knoppen.
- Idle en timeout kick (verbeterd)

Als er nog ideën zijn zeg maar
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Aja ook heb ik iets gemaakt als je pijltje naar boven drukt dat hij je vorig bericht toont in je vensterke. Maar ik kan die toets alleen met firefox detecteren, weet iemand een script waarbij het met ie ook lukt ?
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Wat ik nog wel mooi zou vinden zijn goed werkende plugins (ik heb je huidige systeem trouwens nog niet getest) en een overdreven makkelijke manier om je bestaande ledensysteem eraan te koppelen.
En dat bericht hierboven, zou je het script er eens voor willen posten? Ik vat nog niet helemaal welke toets je bedoelt, en welk venster...
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Het script is nog niet klaar maar ik zet een beta online.
http://www.dark.uwhost2.net/scripts/chatv2beta/

Geef nu een bericht in en druk enter. Dan druk je pijltje omhoog en je bericht zou opnieuw in het vensterje moeten staan
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Ik heb het al offline gehaald er zaten nog te veel bugs in
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Oow, je bedoelt zo als in msn plus, euh, dat je een bericht hebt getypt, en het weer terug kan halen (om bijvoorbeeld verder te typen, of te herhalen) door op het pijltje naar boven te drukken.
Firefox en IE versie ervan?, okee, heb ik eindelijk weer wat om mee te spelen ^^,
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
firefox heb ik al, nu nog IE
Pieter van Linschoten
Pieter van Linschoten
20 jaar geleden
 
0 +1 -0 -1
Gewoon online mIRC maken :p
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Ik maak natuurlijk iets wat met beiden werkt hè :P
Gebruik je trouwens een textarea of een normale input type="text". (voor ChatV3 heb ik nog een textarea werkend zoals in msn (enter = verzenden; shift+enter = nieuwe regel) klaarliggen.
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
ik gebruik input, want het moet zoveel mogelijk op mirc trekken :p. Misschien maak ik er wel een optie van
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Zie projectpagina (niet dat het een project was, maar hier dump ik toch alles wat ik maak) daar staat een link. Voglens mij werkt hij in IE en Firefox. Je kan omhoog en omlaag, en, ja, zie de source maar voor meer info.
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Lol ik zag het juist voordat jij het hier poste :p. Zeer goed juist ga ik nog een aanpassing maken .

Dus als je naarboven gedaan hebt en dan je bericht wegdoet, je weer naar boven kan.

Maar nu zit ik wat te sukkelen met php hoe je een getal van 18 cijfers kan aftrekken zonder een float te krijgen
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
18 cijfers? wat voorn timestamp is dat? :P
Geen idee, geen ervaring met grotere cijfers dan 10.

En hoe zag je dat ik het online had gezet? Sinds waneer heb ik bezoekers op mijn website?


20 jaar geleden
 
0 +1 -0 -1
Ik krijg de volgende foutmelding:
Fatal error: Cannot redeclare leave() (previously declared in c:\phpdev\www\public\chat\commands\leave.php:2) in c:\phpdev\www\public\chat\commands\leave.php.bak on line 2

wat kan ik hier aan doen

BVD
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Omdat jouw programma een backup maakt van leave.php, word leave.php 2 keer geinclude. Dus verwijder alle bestanden die op bak eindigen


20 jaar geleden
 
0 +1 -0 -1
ik had hem geinstaleerd en toen deed hij het en nu niet meer
kijk ff op www.members.lycos.nl/sanga/chat/
of op www.members.lycos.nl/chatbox/

kan iemand mij uitleggen hoe dit kan?
ik heb zelf wel een idee
mysql_connect('', '', '');
mysql_select_db('');
moet je daar niet iets invullen?
ja en wat dan?
Bram Z
Bram Z
20 jaar geleden
 
0 +1 -0 -1
Leer eerst eens php en mysql
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
PHP is niet een traditie of een volksverhaal hoor, het staat wel allemaal grondig beschreven en uitgelegd.
http://www.php.net/mysql_connect
http://www.php.net/mysql_select_db


20 jaar geleden
 
0 +1 -0 -1
sorry :P
ik was ff dom bezig.
maar hij werkt nu maar niet goed
ik heb gewoon het script gekopiert en voor de rest er nix aan gedaan.
maar als je iets wit tikken moet je eerst 2 minuten wachten.


20 jaar geleden
 
0 +1 -0 -1
de link is www.members.lycos.nl/sanga/chatbox


kan iemand me mailen wat er aan de hand is?
gerard_v_l@hotmail.com
Donagansta
donagansta
19 jaar geleden
 
0 +1 -0 -1
Warning: opendir(): SAFE MODE Restriction in effect. The script whose uid is 105011594 is not allowed to access /data/members/free/tripod/nl/d/o/n/donagansta/htdocs/chat owned by uid 0 in /data/members/free/tripod/nl/d/o/n/donagansta/htdocs/chat/cfg.php on line 34

Warning: opendir(commands): failed to open dir: No such file or directory in /data/members/free/tripod/nl/d/o/n/donagansta/htdocs/chat/cfg.php on line 34

Warning: readdir(): supplied argument is not a valid Directory resource in /data/members/free/tripod/nl/d/o/n/donagansta/htdocs/chat/cfg.php on line 35

ik krijg deze error:S weet iemand wat het probleem is?


19 jaar geleden
 
0 +1 -0 -1
de nicknames worden cker opgeslagen?
want als ik me cookies verwijder, en dan opnieuw naar de chatbox ga, en ik toets de naam in die ik had voordat ik de cookies verwijderde, staat er "Nickname already choosen" maar als ik dan ingelogd ben, staat die naam niet in de userlist :S
Everaerts guy
everaerts guy
19 jaar geleden
 
0 +1 -0 -1
link werkt niet :'(
Arwin  vdv
Arwin vdv
19 jaar geleden
 
0 +1 -0 -1
heeft iemand het script nog???

plzplz plz plz??

groetjes van Arwin
PHP hulp
PHP hulp
19 jaar geleden
 
0 +1 -0 -1
Jep jep.... De link is hárstikke dood...
Bram Z
Bram Z
19 jaar geleden
 
0 +1 -0 -1
Kingofthemall
Kingofthemall
19 jaar geleden
 
0 +1 -0 -1
Heej mensen! Ik heb dit script geprobeerd maar ik blijf foutmeldingen krijgen :S Ik hoop dat jullie me kunnen helpen, dit is wat ik krijg:



Warning : mysql_connect() [ function.mysql -connect ]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Program Files\xampp\htdocs\Chat\cfg.php on line 9

Warning : mysql_select_db() [ function.mysql -select -db ]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Program Files\xampp\htdocs\Chat\cfg.php on line 10

Warning : mysql_select_db() [ function.mysql -select -db ]: A link to the server could not be established in D:\Program Files\xampp\htdocs\Chat\cfg.php on line 10

Warning : mysql_query() [ function.mysql -query ]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Program Files\xampp\htdocs\Chat\cfg.php on line 40

Warning : mysql_query() [ function.mysql -query ]: A link to the server could not be established in D:\Program Files\xampp\htdocs\Chat\cfg.php on line 40



Ik snap het toch echt niet, ik heb de database aangemaakt, de naam van de database ingevuld, mn usernaam en mn wachtwoord niet ergeten en toch doet ie t niet :s
Glenn
glenn
18 jaar geleden
 
0 +1 -0 -1
hoi
ik heb hem ingeburik en doet het goed:D:D
maar ken je ook gwn zo maken dat ie maar 15 beirchten per keer laat zien ofzow
en een admin menu
wara je dit ken doen
banne
unbanne
waarschuwing geve
en bij 2 waarschuwingen krijg je een ban
en dat je in user list achter ze naam ze waarschuwingen ziet
grtz deking1337
Glenn
glenn
18 jaar geleden
 
0 +1 -0 -1
hoi
ik heb hem ingeburik en doet het goed:D:D
maar ken je ook gwn zo maken dat ie maar 15 beirchten per keer laat zien ofzow
en een admin menu
wara je dit ken doen
banne
unbanne
waarschuwing geve
en bij 2 waarschuwingen krijg je een ban
en dat je in user list achter ze naam ze waarschuwingen ziet
grtz deking1337
Harmen
harmen
18 jaar geleden
 
0 +1 -0 -1
heejjj


ik snap geen php kan iemand mij dat leren...
ik moet vanaf stap 1 beginne...xD
SXForce
SXForce
15 jaar geleden
 
0 +1 -0 -1
Sorry dat ik dit script nu helemaal weer naar boven haal, maar...
Ik zou graag eens een kijkje willen nemen in het script, en misschien wel gebruiken. Aan de reacties te zien is het namelijk een goed script.

Heeft er iemand nog een link voor mij?
Deze werkt namelijk niet meer...
Toby hinloopen
toby hinloopen
15 jaar geleden
 
0 +1 -0 -1
*kuch*
http://www.phphulp.nl/php/scripts/6/1545/

een chat die nog regelmatig geupdate zal worden met oog op performance en mogelijkheden.

controleer daarom af-en-toe voor updates.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Maurice
maurice
15 jaar geleden
 
0 +1 -0 -1
hij werkt niet :(

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

Inhoudsopgave

  1. chatbox-v10

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.