Avatar billede realone Nybegynder
21. oktober 2001 - 10:29 Der er 2 kommentarer og
1 løsning

Chat og private beskeder = problemer!

Jeg har fået fat i denne chat:

http://www.netcoders.dk/sources.asp?mode=view_source&tech_id=1&id=1693

hvor chat.asp (chatvinduet) ser sådan ud:

<%
Linier = \"20\"
farve1 = \"#0000FF\" \'Den farve normale chat sætninger foregår med.
farve2 = \"#FF0000\" \'Den farve der bliver sagt velkommen med.
farve3 = \"#008000\" \'Den farve private chat sætninger foregår med.
Opdatering = \"5\" \'Opdaterings frekvensen. Hvortit  skal siden opdatere?
%>
<html>
<head>
<META HTTP-EQUIV=\'Refresh\' CONTENT=\'<%=Opdatering%>;URL=chat.asp\'>
</head>
<body>
<%
strSQL = \"SELECT * FROM chat WHERE Rum=\'\"& session(\"rum\") &\"\' ORDER BY id DESC \"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then

  For i=2 to \"\"&Linier

    If (rs(\"til\") = \"alle\" AND NOT rs(\"fra\") = \"Chatten\" ) then
      Response.Write \" \"& rs(\"fra\") &\" : <font color=\'\"&farve1&\"\'> \"& rs(\"besked\") &\" </Font><BR> \"
    End if
 
    If (rs(\"fra\") = \"Chatten\" ) then
      Response.Write \" Chatten : <font color=\'\"&farve2&\"\'> \"& rs(\"besked\") &\" </Font><BR> \"
    Else

    End if

    If (rs(\"til\") = \"\"&session(\"chat_id\") &\"\" ) then
      Response.Write \" Privat besked fra \"& rs(\"fra\") &\" : <font color=\'\"&farve3&\"\'> \"& rs(\"besked\") &\" </Font><BR> \"
    End if
 

  rs.MoveNext 
  If (rs.BOF Or rs.EOF) Then
    i = 20
  End If 

  \'Else
  \'response.write(\" \")
  \'End If
  Next

Response.Write \" \"
Else
Response.Write \"Der er ingen online\"
End If
myConn.Close
Set myConn = Nothing
%>
</body>
</html>

Problemet er bare, at når man skriver en privat besked kan kun modtageren se den .. Man kan altså ikke engang selv se hvad man har skrevet ..

Hvad gør jeg for at kunne se private beskeder i chatvinduet både den ene og anden vej??

På forhånd tak..
Avatar billede realone Nybegynder
21. oktober 2001 - 10:40 #1
Se chatten i funktion her:
www.friserverplads.dk/eks/chat
Avatar billede apocryphal Nybegynder
21. oktober 2001 - 12:15 #2
Laver om på din database, den skal have disse felter:

TABEL: messages
messageId (auto-numm)
senderId (Obligatgorisk)
receiverId (Std: -1)
roomId (Obligatorisk)
message (Notat / Note)
date (Std: getDate())

For at sende en besked til ALLE i rum 1:
insert into messages(senderId, room, message)
values(@senderId, @roomId, @message);

For at sende til én person:
insert into messages(senderId, receiverId, room, message)
values(@senderId, @receiverId, @roomId, @message);

Disse SQL statements opretter du bare under Querys (forspørgelsler) i Access, og kalder den første for sp_sendToAll og den anden for sp_sendToOne

Når du skal aktiverer dem, skriver du bare dette SQL statement til serveren:

sql = \"sp_sendToAll \" + Session(\"userId\") + \",\" + Session(\"roomId\") + \",\'\" + Request.Form(\"message\") + \"\'\";

Hvis du ikke bruger JavaScript, bytter du bare + ud med & og fjerner Semicolon fra slutningen.

--
Jonas
Avatar billede apocryphal Nybegynder
21. oktober 2001 - 12:17 #3
Vedmere, for at aktiverer den sidste, skriver du bare:

sql = \"sp_sendToAll \" + Session(\"userId\") + \",\" + Request.Form(\"receiverId\") + \",\" + Session(\"roomId\") + \",\'\" + Request.Form(\"message\") + \"\'\";
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