webForumDet fria alternativet

webbchat

83 svar · 1 674 visningar · startad av ptr_lks

ptr_lksMedlem sedan juni 2005584 inlägg
#1

Hej,
jag jobbar med en hemsida för min sons basketlag

  1. är det svårt att "koda" en enkel webchat? Försökt utan framgång googla efter tutorials i ämnet
  2. grabbarna är i 12 åå, så de flesta har msn - kan jag på något sätt använda mig av msn?
  3. eller är mirc bättre allternativ?
Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Är det svårt att bygga en bil?

En lådbil behöver inte vara så svår att bygga, men det kan vara ruskigt marigt. För att inte tala om att bygga en RR-replika med orginaldelar. ;)
Alltså, det beror på hur många som skall använda den, hur många chattrum vilken funktionalitet osv. De som vet brukar avråda ifrån att göra chattar med ASP-teknik.
Det är bättre att göra en i tex. java (inte javascript).
Det bästa tycker jag är att du skaffar en gratischatt som du kan hitta på t.ex. https://www.hotscripts.com klicka dig vidare till önskad sida.

Denna t.ex. http://www.hotscripts.com/Java/Applications/Chat_Systems/index.html

ptr_lksMedlem sedan juni 2005584 inlägg
#3

Jesper T skrev:

....Alltså, det beror på hur många som skall använda den, hur många chattrum vilken funktionalitet osv.

Alltså jag tänker mig en mycket basic chat, med ett chattrum och kansek 6 - 10 samtidig användare som max :OO

Jesper T skrev:

De som vet brukar avråda ifrån att göra chattar med ASP-teknik.

varför avråds man från detta?

Jesper T skrev:

Det är bättre att göra en i tex. java (inte javascript).
Det bästa tycker jag är att du skaffar en gratischatt som du kan hitta på t.ex. https://www.hotscripts.com klicka dig vidare till önskad sida.

Ett stort problem är att jag inte kan java alls. verkar vara en hög ambitionsnivå att lära sig java för att kunna göra en chat :stud

J.N.Medlem sedan apr. 20031 660 inlägg
#4

HEJ!
Eftersom din korspostade tråd stängdes under tiden jag skrev, svarar jag på det här. (LITE förvånad blev jag!)

1. För att underlätta kodningen, när du loggar ut, kommer du till logout.asp, som kontrollerar om session är tom (=nej) och därefter kör Abandon och redirect.

2. Nej, här finns inget som har med databas att göra.

3. Troligtvis, har ingen erfarenhet av Brinkster; koden refererar inte till global.asa i alla fall.

liljaMedlem sedan juli 20041 183 inlägg
#5

ptr_lks skrev:

varför avråds man från detta?

Kanske för att ASP inte är direkt optimerad för ändamålet...

Om du skall göra en chatt kan du t.ex. använda dig av en databas och en sida som ligger och uppdaterar sig kanske var 10:e skund. Formuläret du använder för att skriva in data i bör ligga i en annan frame om inte basketspelarna är snabba på tangentbordet efterssom det inskrivna försvinner när du uppdaterar sidan...

I sidan som uppdaterar hämtar du kanske de 20 senaste posterna från databasen som las till de senaste 30 minuterna... Kanske??

Redigerad: Lägg t.ex. sidan som uppdateras i en iframe och tvinga besökarna att logga in med ett valfritt användarnamn som sparas i en Session-variabel så har du din chatt... En basic men fungerande...

emil_adMedlem sedan apr. 200373 inlägg
#6

lilja skrev:

Kanske för att ASP inte är direkt optimerad för ändamålet...

Om du skall göra en chatt kan du t.ex. använda dig av en databas och en sida som ligger och uppdaterar sig kanske var 10:e skund. Formuläret du använder för att skriva in data i bör ligga i en annan frame om inte basketspelarna är snabba på tangentbordet efterssom det inskrivna försvinner när du uppdaterar sidan...

I sidan som uppdaterar hämtar du kanske de 20 senaste posterna från databasen som las till de senaste 30 minuterna... Kanske??

Redigerad: Lägg t.ex. sidan som uppdateras i en iframe och tvinga besökarna att logga in med ett valfritt användarnamn som sparas i en Session-variabel så har du din chatt... En basic men fungerande...

Eller varför inte en textfil med FSO, det funkar kalas i ASP, använd Remote Scripting så slipper man uppdateringsklick o sånt och flusha/töm textfilen efter XX antal inlägg.

Är det inte allt för många som ska chatta så tycker jag det är ett smart sätt.
Men det kanske var o spänna bågen :q

ptr_lksMedlem sedan juni 2005584 inlägg
#7

emil_ad skrev:

Eller varför inte en textfil med FSO, det funkar kalas i ASP, använd Remote Scripting så slipper man uppdateringsklick o sånt och flusha/töm textfilen efter XX antal inlägg.

Är det inte allt för många som ska chatta så tycker jag det är ett smart sätt.
Men det kanske var o spänna bågen :q

två fundarationer:
kan man använda din metod på Brinkster?
var kan jag läsa om din metod?

emil_adMedlem sedan apr. 200373 inlägg
#8

ptr_lks skrev:

två fundarationer:
kan man använda din metod på Brinkster?
var kan jag läsa om din metod?

Hmmm

Om brinkster stöder FSO eller om det föreligger några problem med just Remote Scripting där får jag nog lämna obesvarad. För att det ska fungera måste du ha en katalog med både läs- och skrivrättigheter. Detta för jag aldrig använder brinkster.

Gällande metoden med Remote Scriptning så har jag byggt ett par sådana funktioner, dock ej för publikt ändamål.

Om Remote Scripting finns det mer info via MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rmscpt/html/rmscpt.asp

Skulle gärna hjälpa dig ytterligare, men kommer du igång så posta lite kod så kanske alla här kan bistå dig.

liljaMedlem sedan juli 20041 183 inlägg
#9

ja textfiler är ju onekligen enklare, att jag inte tänkte på det :OO

Remote Scripting har jag inte ens hört talas om, allt lär man sig nåt nytt :bire

Hmm, FSO skall fungera även på gfratiskontot hos brinkster... Får det dock inte till att fungera... Min sökväg när jag kör Server.MapPath() verkar bli lite väl skumm...

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

If fs.FileExists(Server.MapPath("fil.txt")) = True Then
      Response.Write("File c:\winnt\cursors\3dgarro.cur exists.")
Else
      Response.Write("File c:\winnt\cursors\3dgarro.cur does not exist.")
End If

set fs=nothing
%>

Returnerar:
\\genfs4\www50\dk04lich\fil.txtFile c:\winnt\cursors\3dgarro.cur does not exist.

liljaMedlem sedan juli 20041 183 inlägg
#10

Äh, skriptet började plötsligt fungera. Testa på och fråga om det blir problem! :)

TravoniMedlem sedan okt. 20041 556 inlägg
#11

Det finns en liten sådan chat i scriptarkivet.
http://www.webforum.nu/showthread.php?t=88696

liljaMedlem sedan juli 20041 183 inlägg
#12

Aha, förstår inte riktigt hur det fungerar men det verkar coolt... Dock så bygger den chatten också på att div-en uppdateras i ett visst intervall...

Rätta mig om jag har fel med t.ex. Java-chattar kan väl känna av när någon skickar något och uppdatera därefter??

ptr_lksMedlem sedan juni 2005584 inlägg
#13

vad tycker ni om koden?

<%
Set minCon = Server.CreateObject( "Adodb.Connection" )
	minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\4testasp\db\chat.mdb")	
 
  strUser = replace(Request("chattnamn"), "'", "''")
  strPasw = replace(Request("txtPassword"), "'", "''")
  
    strSQL = "SELECT * FROM chattare WHERE Chattnamn = '"_
      & strUser & "' AND Chattpassw ='" & strPasw & "';"
    Set User = minCon.Execute(strSQL)
    
    if not rs.EOF then
      strSQL = "UPDATE chattare SET OnLine = 1 WHERE chattnamn ='" & strUser & "';"
      strSQL = "INSERT INTO skickade (from, skrivet, tidpkt) VALUES ("_
        & "'System', '<i>" & strUser & "</i> Steg in i chatten', '" & Now & "');"
      Session("Inloggad") = User("anvID")
      
      Response.Redirect "chat.asp"
    else
      Response.Redirect("error.html")
   
    
    Set User = Nothing
	minCon.Close
	Set minCon = Nothing
  end if
%>
<html>

<head>
<title>Inlogning till chatten </title>
</head>

<body bgcolor="#FFFFFF">
<center>
  <P>&nbsp;</P>
<form method="post" action="default.asp">
  <table border="0" width="200" cellspacing="1" cellpadding="4">
    <tr>
      <td width="20%" align="right" bgcolor="#F2B425"><b>Chattnamn:</b></td>
      <td width="80%" bgcolor="#F7D53E"><input type="text" name="chattnamn" value="<%=strUser%>" size="20"></td>
    </tr>
    <tr>
      <td width="20%" align="right" bgcolor="#F2B425"><b>L&ouml;senord:</b></td>
      <td width="80%" bgcolor="#F7D53E"><input type="password" name="txtPassword" size="20"></td>
    </tr>
    <tr>
      <td width="100%" colspan="2" align="center" bgcolor="#F2B425"><input type="submit" value="Klivpå" name="btnLogin"></td>
    </tr>
  </table>
</form>
  1. kolla om chattaren är registrerad

  2. uppdatera att chattaren är online

  3. uppdatera mde tidpunkten då chattaren kom online

  4. kommer detta funka?

  5. skall det vara

    UPDATE chattare SET OnLine = 1
    

    eller

    UPDATE chattare SET OnLine = Ja
    

    eller

    UPDATE chattare SET OnLine = True
    

Gid fortsättning på helgen önskar
/ptr

ptr_lksMedlem sedan juni 2005584 inlägg
#14

eller borde det vara:

]<%
Set minCon = Server.CreateObject( "Adodb.Connection" )
	minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\4testasp\db\chat.mdb")	
 
  strUser = replace(Request("chattnamn"), "'", "''")
  strPasw = replace(Request("txtPassword"), "'", "''")
  
    strSQL = "SELECT * FROM chattare WHERE Chattnamn = '"_
      & strUser & "' AND Chattpassw ='" & strPasw & "';"
    Set User = minCon.Execute(strSQL)
    
    if not rs.EOF then
      strSQL = "UPDATE chattare SET OnLine = 1 WHERE chattnamn ='" & strUser & "';"
[B]Set User = minCon.Execute(strSQL)[/B]
      strSQL = "INSERT INTO skickade (from, skrivet, tidpkt) VALUES ("_
        & "'System', '<i>" & strUser & "</i> Steg in i chatten', '" & Now & "');"
      Session("Inloggad") = User("anvID")
 [B]Set User = minCon.Execute(strSQL)[/B]    
      Response.Redirect "chat.asp"
    else
      Response.Redirect("error.html")
   
    
    Set User = Nothing
	minCon.Close
	Set minCon = Nothing
  end if
%>
<html>

<head>
<title>Inlogning till chatten </title>
</head>

<body bgcolor="#FFFFFF">
<center>
  <P>&nbsp;</P>
<form method="post" action="default.asp">
  <table border="0" width="200" cellspacing="1" cellpadding="4">
    <tr>
      <td width="20%" align="right" bgcolor="#F2B425"><b>Chattnamn:</b></td>
      <td width="80%" bgcolor="#F7D53E"><input type="text" name="chattnamn" value="<%=strUser%>" size="20"></td>
    </tr>
    <tr>
      <td width="20%" align="right" bgcolor="#F2B425"><b>L&ouml;senord:</b></td>
      <td width="80%" bgcolor="#F7D53E"><input type="password" name="txtPassword" size="20"></td>
    </tr>
    <tr>
      <td width="100%" colspan="2" align="center" bgcolor="#F2B425"><input type="submit" value="Klivpå" name="btnLogin"></td>
    </tr>
  </table>
</form>
@ndersMedlem sedan juni 200032 969 inlägg
#15

Du måste exekvera båda SQL-frågorna, men det finns ingen anledning att skapa recordsetobjekt, eftersom du inte hämtar någon data.

minCon.Execute (strSQL)

räcker bra, eller ännu hellre:

minCon.Execute strSQL,,128

(lite snällare eftersom det varken skapas eller returneras något recordset.)

NickemannenMedlem sedan aug. 20003 575 inlägg
#16

Ta en färdig istället:
http://asp.aspobjects.com/ASP_Scripts/Chat/

ptr_lksMedlem sedan juni 2005584 inlägg
#17

vad tycker ni om detta kod då?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
if Request.Form("chattin") = "Börja chatta" Then

Set chatt = Server.CreateObject( "Adodb.Connection" )
chatt.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\4testasp\db\chat.mdb")
chatt.ConnectionString = "Data Source='" & MdbFilePath & "'"
chatt.open
strUser = replace(Request("chattnamn"), "'", "''")
strPasw = replace(Request("txtPassword"), "'", "''")

 strSQL = "SELECT * FROM chattare WHERE Chattnamn = '"_
  & strUser & "' AND Chattpassw ='" & strPasw & "';"
  Set rs = minCon.Execute(strSQL)
  

  if not rs.EOF then
    strSQL = "UPDATE chattare SET OnLine = 1 WHERE chattnamn ='" & strUser & "';"
    strSQL = "INSERT INTO skickade (from, skrivet, tidpkt) VALUES ("_
    & "'System', '<i>" & strUser & "</i> Steg in i chatten', '" & Now & "');"
    Session("Inloggad") = User("anvID")

    rs.Close
    minCon.Close
    Set rs = Nothing
    Set minCon = Nothing
  
    Response.Redirect "chatt.asp"
  else
    rs.Close
    minCon.Close
    Set rs = Nothing
    Set minCon = Nothing

    Response.Redirect("error.htm")
  end if
  end if
%>
@ndersMedlem sedan juni 200032 969 inlägg
#18

@nders skrev:

Du måste exekvera båda SQL-frågorna

Nu skapar du ju bara ett par (eller rättare sagt en, som du skriver över) variabler som råkar innehålla en SQL-fråga.

ptr_lksMedlem sedan juni 2005584 inlägg
#19

@nders skrev:

@nders skrev:

Du måste exekvera båda SQL-frågorna

.

Fattar inte riktigt hur jag skall exekvera 3 frågor :(

@ndersMedlem sedan juni 200032 969 inlägg
#20

Det är bara att göra som när du exekverar en fråga, fast tre gånger... :0

strSQL = "UPDATE bueh"
ditt_connectionobjekt.execute strSQL,,128
strSQL = "INSERT bueh"
ditt_connectionobjekt.execute strSQL,,128
strSQL = "DELETE bueh"
ditt_connectionobjekt.execute strSQL,,128
143 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)