Avatar billede davidnielsen Nybegynder
25. juni 2001 - 13:45 Der er 7 kommentarer og
2 løsninger

Privat beskeder i chat rum

Jeg har lavet et chat script :
http://www.friserverplads.dk/davidnielsen/dn_chat.pl
og sourcen ligger her : http://dn_scripts.subnet.dk/dn_chat.pl

Scriptet virker fint, men jeg vil gerne tilføje en funktion så man kan skrive private beskeder.

Er her nogle der kan hjælpe mig ?
Avatar billede blackscorpion Nybegynder
26. juni 2001 - 02:47 #1
Ja jeg kan godt hjælpe dig, men hvad bruger til som chat-fil. ligger det bare i en textfil?
Avatar billede davidnielsen Nybegynder
26. juni 2001 - 15:47 #2
Alt her der bliver chattet kommer til at ligge i \"chatmain.html\" som standard.

Det stå alt sammen i starten af source filen
Avatar billede blackscorpion Nybegynder
26. juni 2001 - 19:51 #3
Spekulere. ... så bliver det lidt svært for dig.
Jeg har fx. lige lavet en chat, men password, private beskeder og status.

Jeg bruge en comma sepereret fil til at lagre beskderne i.

og så.

if($modtager eq \"$form{\'brugernavn\'}\" && $action eq \"privat\") {
print \"skriv noget rød skrift\";
}
else {
print \"skriv noget normal skrift.\";
}

- The Speaker.
Avatar billede davidnielsen Nybegynder
27. juni 2001 - 13:09 #4
en komma sepereret fil... hmmm, ok.

Jeg er da villig til at lave chatten om så den bliver komma sepereret ligesom din, hvordan gør jeg det ?

Jeg sidder og prøve at forstille mig hvordan det skal lave... Vil du så have at der bliver lavet en nu perl-script fil som så udføres af hver chatter og.,,, ehh nej det kan jeg ikke helt forstå.

Kan du prøve at lave om på min chat eller på en eller anden måde vise mig hvordan du gør.
Avatar billede blackscorpion Nybegynder
27. juni 2001 - 13:34 #5
Jeg har skam en måde.

Forstil dig en komma sepereret fil som indeholder chatten\'s. både private, offentlige og evt. funktioner.

lad os lige dete det op engang.

brugernavn;status;modtager;\"action (Normal/Privat)\";besked;

så hiver du det ind i en fil og gør følgende.

if($brugernavn eq \"$form{\'brugernavn\'}\") {
print \"<font color=\\\"red\\\">$brugernavn : $besked<br>\\n\";
}
elsif($modtager eq \"$form{\'brugernavn\'\"} && $action eq \"privat\") {
print \"<font color=\\\"red\\\">$brugernavn : $besked<br>\\n\";
}
Avatar billede blackscorpion Nybegynder
27. juni 2001 - 13:35 #6
got it?
Avatar billede davidnielsen Nybegynder
27. juni 2001 - 15:00 #7
Ja det tror jeg nok.
Jeg prøver når jeg kommer hjem (jeg er i skole lige nu)

Ses imorgen
Avatar billede davidnielsen Nybegynder
02. juli 2001 - 10:49 #8
Jeg har prøvet... men så kommer der jo en hel bunke nye problemer..
Bruger skal kunne vælge andres chat navne i en dropdown box, plus jeg brugeres skal logges ud efter en vis timeout, og der må ikke være to med samme navn. Damn det svært.

Jeg har downloadet en chat der hedder Ralf\'s chat, den kan vist downloades fra : http://www.ralfchat.de/ den har det hele, men jeg ved ikke hvor fri koden er som han har lavet, de scripts jeg laver skal være helt frie.

Må jeg se den chat du har lavet ?
Avatar billede blackscorpion Nybegynder
02. juli 2001 - 14:00 #9
Hej David.

Du skal altså bruge en fuldblods chat med alt tilbehør.

Jeg har slettet min chat i raseri. *GG*
*Hader desværre når tingene driller mig*

Men, det er ikke bare lige sådan at lave, og desuden har jeg også fundet ud af, at den chat jeg har skrevet kørste langsommere end en skrevet i php/mysql.

Jeg kender godt Ralfchat, men jeg kan ikke huske hvor fri koden er.
Det er surt at www.perlchat.dk den er ellers nok en chat efter din smag, men den er IKKE fri, og koden er kompilet, så der er ikke ret meget du kan gøre ved den.

Når til dine spørgsmål.

1. Brugere skal kunne vælge navne i en dropdown box.

svar : Der skal du gøre det at når en bruger logger ind, så pløjer den navnet ind i en fil hvor online brugere er.
altså.

open(TMP, \">>rum1/online.dat\");
print TMP \"$form{\'brugernavn\'}\\n\";
close(TMP);

Så den er ikke så svær.

2 den med at logge brugeren ud efter fx. 20 minutters inaktivitet.

svar : <head>
<meta http-equiv=\"refresh\" content=\"1200; url=inaktiv.cgi?brugernavn=$form{\'brugernavn\'}\">
</head>

Men jeg ved ikke om den virker, det kommer an på om du reloader panelet når du har skrevet, for så virker den, men hvis du henfører til en anden fil, ved jeg ikke om det virker.

3. den med at der ikke må være 2 på.

svar : open(TMP, \"rum1/online.dat\");
@content = <TMP>;
close(TMP);

foreach $key (@content) {
($brugernavn, $password, $status) = split(/;/, $key);

if($brugernavn eq \"$form{\'brugernavn\'}) {
  print \"Der er allerede en bruger logget på med  det navn, prøv igen senere.\";
}
}

Det tror jeg skulle kunne gøre det, men hvis du stadig har spørgsmål, så må du endelig bare spørge løs. :)

- The Speaker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester