27. august 2001 - 20:29
Der er
3 kommentarer
HJÆLP TIL CHAT
Hej eksperter
jeg har fundet en lille chat på nettet som jeg synes er meget nice, men den har en fejl, hvordan laver man så man kan \"opdatere navnelisten\" ligesom inde på ofir chat?
opdatere man bare siden som den er nu, er man pludselig inde på chatte uden noget brugernavn og det er jo ikke så godt
koden til bunden hvor man skriver og skal kunne opdatere er her!
<% Response.Buffer = True %>
<head>
<link rel=stylesheet href=\"chat.css\" type=\"text/css\">
</head>
<body bgcolor=\"#B5B594\" onload=\"document.form.besked.focus()\">
<!--#include file=function.asp-->
<form method=post action=chat_bund.asp name=form>
<select name=modtager class=form>
<option selected value=Alle>Alle</option>
<%
Set Conn = CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"xxxxxx.mdb\")
Sql = \"Select * from online order by navn\"
Set rs = Conn.Execute(sql)
Do until rs.eof
%>
<option value=<%=rs(\"navn\")%>><%=rs(\"navn\")%></option>
<%
rs.movenext
loop
rs.close
Set rs = nothing
Conn.Close
Set Conn = Nothing
%>
</select>
<input type=text name=besked class=form size=80><input type=submit class=form value=Send></form>
<input class=form type=submit value=Logud onclick=\"top.location=\'default.asp\'\">
<% if Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" then
modtager = Request.form(\"modtager\")
navn = Session(\"navn\")
besked = Request.form(\"besked\")
fontcolor = Request.form(\"fontcolor\") %>
<%=chat(modtager, navn, besked, fontcolor)%>
<% end if %>
27. august 2001 - 21:51
#1
Ovenstående kan umuligt være hele koden, så jeg famler lidt i blinde...
Du kan bruge det brugernavn der er gemt i sessionsvariablen Session(\"navn\")
og så aut. foretage et login (eller lade være med at logge ud) hvis denne er udfyldt. Dette kan eks. gøres med
If len(Session(\"navn\")) > 0 then
- et eller andet
End if
Mit gæt er, at koden du skal kigge i ligger i function.asp
28. august 2001 - 15:51
#2
Så får du koderne til functions.asp
<%
function chat(modtager, afsender, besked, fontcolor)
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
chatSQL = \"Select * from chat\"
rs.Open chatSQL, Conn, 1, 3
rs.addnew
rs(\"modtager\") = modtager
rs(\"afsender\") = afsender
rs(\"besked\") = besked
rs(\"fontcolor\") = fontcolor
rs.update
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end function
function logud(chatnavn)
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
logudSQL = \"Select * from online where navn = \'\" & chatnavn & \"\'\"
rs.Open LogudSQL, Conn, 1, 3
rs.delete
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end function
function login(navn)
if navn = \"\" then
login = \"<font class=8>Du skal skrive et navn</font>\"
else
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
LoginSQL = \"Select * from online where navn = \'\" & Request.form(\"navn\") & \"\'\"
rs.Open LoginSQL, Conn, 1, 3
if Rs.bof or eof then
rs.Addnew
rs(\"navn\") = Request.form(\"navn\")
rs(\"time\") = Time()
rs.update
Session(\"navn\") = Request.form(\"navn\")
Set ChatConn = Server.CreateObject(\"ADODB.Connection\")
ChatConn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set chatrs = Server.CreateObject(\"ADODB.Recordset\")
chatSQL = \"Select * from chat\"
chatrs.Open chatSQL, ChatConn, 1, 3
chatrs.addnew
chatrs(\"modtager\") = \"Alle\"
chatrs(\"afsender\") = \"Chatten\"
chatrs(\"besked\") = \"\" & Request.form(\"navn\") & \" er logget ind klokken \" & Time() & \"\"
chatrs(\"fontcolor\") = \"#0000FF\"
chatrs.update
chatrs.close
ChatConn.close
Set Chatconn = nothing
Response.Redirect(\"chat_frame.asp\")
else
login = \"<font class=8>Der er en bruger med det navn<br>logget på med det ønskede navn<br><br></font>\"
end if
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end if
end function
function showchat
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
showchatSQL = \"Select top 25 * from chat where modtager = \'Alle\' OR modtager = \'\" & session(\"navn\") & \"\' OR afsender = \'\" & session(\"navn\") & \"\'order by id DESC\"
rs.Open showchatSQL, Conn, 1, 3
Do until rs.eof
%>
<%
if rs(\"modtager\") <> \"Alle\" then %>
<% if rs(\"afsender\") = Session(\"navn\") then %>
<font face=verdana size=2 color=red><b>Du fortæller <%=rs(\"modtager\")%>:</b> <%=rs(\"besked\")%></font><br>
<% else %>
<font face=verdana size=2 color=red><b><%=rs(\"afsender\")%> fortæller dig:</b> <%=rs(\"besked\")%></font><br>
<% end if %>
<% else %>
<font face=verdana size=2 color=<%=rs(\"fontcolor\")%>><b><%=rs(\"afsender\")%>:</b> <%=rs(\"besked\")%></font><br>
<%
end if
rs.movenext
loop
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end function
function showusers
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
showusersSQL = \"Select * from online \"
rs.Open showusersSQL, Conn, 1, 3
Do until rs.eof
%>
<font size=2 face=verdana><%=rs(\"navn\")%></font><br>
<%
rs.movenext
loop
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end function
function sdelete_non_active_users
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"chatten.mdb\") & \"\"
Set rs = Server.CreateObject(\"ADODB.Recordset\")
deleteSQL = \"Delete * from online\"
rs.Open deleteSQL, Conn, 1, 3
rs.close
Set rs = nothing
Conn.close
Set conn = nothing
end function
%>