Avatar billede peterswin Nybegynder
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 %>
Avatar billede tmceu Praktikant
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
Avatar billede peterswin Nybegynder
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
%>
Avatar billede rs2000 Nybegynder
16. maj 2003 - 00:01 #3
lukketid??
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