SGuncelMedlem sedan jan. 2007217 inlägg Hej!
Jag har tänk och göra ett system som kickar fpl automatisk från chatt när man spammar eller skriver ett ord som man inte ska.
Själva inlägget är att jag behöver hjälp hur jag ska göra sån system.
Det ska vara t.ex så här:
System 12:05
Kickade Test i 55 minuter.
Anledning: Spammade
Sen ska användaren inte komma in i chatten i 55 minuter.
Undrar om någon skulel hjälpa hur sån system skulle göras?
SjodahlMedlem sedan maj 20033 218 inlägg Ju du får väl ta reda på hans IP och se till så att det inte är välkomen dit igen på 55min? Men har du gjort själva chatten?
Request.Servervariables("REMOTE_HOST")
SGuncelMedlem sedan jan. 2007217 inlägg Men problemet är att jag inte vet hur jag ska göra.
Ja, jag har gjort själva chatten.
PoffeMedlem sedan apr. 20022 743 inlägg Ett sätt att göra det på är att du sparar den kickade användarens IP och tid då han får komma tillbaka i databasen. Sedan när någon försöker ansluta till chatten så kollar du mot databasen om IP:t finns där och om tiden har gått ut eller inte. Har den inte det så får han inte komma in, har den det så är han välkommen och då kan du ta bort posten ur darabasen.
SGuncelMedlem sedan jan. 2007217 inlägg Om jag skriver t.ex. 55 minuter hur ska jag kunna avrunda det till datum och tid?
t.ex. Om jag kickar någon kl 17:05 och personen ska komma in efter 55 min. Så måste det stå 2007-08-08 18:00 i data basen. Hur ska jag göra det?
SGuncelMedlem sedan jan. 2007217 inlägg Sökte men hitta inget om det.
PoffeMedlem sedan apr. 20022 743 inlägg Var sökte du då? I detta forum (ASP) får jag fram 157 träffar och på google runt 252 000.
Dock är det nog DateAdd som du behöver om du ska använda den varianten. DateDiff kollar tid mellan två datum, DateAdd lägger till en viss tid på ett datum. I detta fall ska du ju lägga till 55 minuter på nuvarande datum (med datum menar jag både datum och tid, t.ex. 2007-08-09 04:52:00).
Sök på DateAdd i detta forum, det vet jag att du får fram svar på.
SGuncelMedlem sedan jan. 2007217 inlägg Så nu har jag gjort så här, men när jag kickar någon så får jag detta fel meddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.19-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','2007-10-18 07:45:22')' at line 1
/Chat/kickUser.asp, line 69
<!-- #include file="../Inc/DBConnection.asp" --><!-- #include file="../Inc/LoginCheck.asp" --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Användarnamn</title>
<style type="text/css">
input {
font-family: "Trebuchet MS";
font-size: 12px;
font-weight: normal;
font-style: normal;
font-variant: normal;
text-transform: capitalize;
text-decoration: none;
background-color: #FFFFFF;
border-style: dashed;
border-width: 1px;
padding: inherit;
margin: auto;
}
.style1 {
text-align: center;
}
</style>
</head>
<body>
<form action="?kick=User" method="post">
<table cellpadding="1" cellspacing="0" width="35%">
<tr>
<td style="width: 108px">
Användarnamn:
</td>
<td>
<input name="kickUser" value="<%=Request.Querystring("UsrTLAlias")%>" style="width: 180px" />
</td>
</tr>
<tr>
<td style="width: 108px">
Minuter
</td>
<td>
<input name="kickMinutes" style="width: 180px" />
</td>
</tr>
<tr>
<td style="width: 108px">
Anledning:
</td>
<td>
<input name="kickReason" style="width: 180px" />
</td>
</tr>
<tr>
<td colspan="2" class="style1">
<input type="submit" value="Kicka" style="width: 180px" />
</td>
</tr>
</table>
</form>
<%
IF Request.Querystring("kick")="User" then
ObjConn.Execute("Insert into chatKick (kickUser, kickUntil, kickReason, kickUserBy) values ('" & SafeSQL(Request.Form("KickUser")) & "','" & SafeSQL(Request.Form("KickMinutes")) & "'," & SafeSQL(Request.Form("kickReason")) & "','" & DateAdd("n",Request.Form("kickMinutes"), Now) & "')")
Response.Write "Så, användaren är kickad"
Response.Redirect "KickUser.asp"
End If
%>
</body>
</html>
SjodahlMedlem sedan maj 20033 218 inlägg Skriv ut frågan innan du exekvera den.
SGuncelMedlem sedan jan. 2007217 inlägg Så nu om man kmr til självaste problemet så ahr jag svårt och lösa.
Behöver verkligen hjälp med det.
Nu tänker jag kolla igenom databasen och se om användaren finns. Om användaren finns ska han/hon skickas till någon annan sida.
Så här ser mina kod ut för chatten:
De här koden listar ut vem som är inne i chatten och man skickar meddelandet.
<!-- #include file="../Inc/DBConnection.asp" --><!-- #include file="../Inc/LoginCheck.asp" --><!-- #include file="../Inc/RegExp.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="sv">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="copyright" content="">
<title></title>
<link rel="stylesheet" href="../_Style/SidansStyle.css" type="text/css">
</head>
<body>
<%
Set ObjRS2 = ObjConn.Execute("Select * from TLUSers where UsrId="&SafeSQL(Session("UsrId"))&"")
ObjConn.Execute("Update TLUsers set UsrLastActive='" & Now & "' where UsrID ="&SafeSQL(Session("UsrID"))&"")
Dim strVart_page , strVart_Query, strVart
strVart_page = Mid(Request.ServerVariables("PATH_INFO"),1)
strVart_Query = Request.ServerVariables("QUERY_STRING")
If Len(strVart_Query) > 0 Then
strVart = strVart_page &"?"& strVart_Query
Else
strVart = strVart_page
End If
dim strVart_LinkName, strVart_Name
strVart_LinkName = ("Chattar på Planket")
strVart_Name = strVart_LinkName
ObjConn.Execute("UPDATE TLUsers SET UsrWhere = '" & strVart & "', UsrWhereName = '" & strVart_Name & "' WHERE UsrID = "&SafeSQL(Session("UsrID")))
%>
<table cellpadding="0" cellspacing="0" width="705">
<tr>
<td height="5">
<img src="../_Grafik/Profil_Vanster_Uppe.gif" alt="" width="9" height="7"></td>
<td height="7" style="background-image: url('../_Grafik/Profil_Uppe.gif');" width="666"></td>
<td height="5">
<img src="../_Grafik/Profil_Hoger_Uppe.gif" alt="" width="15" height="7"></td>
</tr>
<tr>
<td width="9" style="background-image: url('../_Grafik/Profil_Vanster.gif');" height="525"></td>
<td width="681" height="197">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="520">
<tr>
<td width="506" height="520" valign="top">
<iframe src="Chat2.asp" width="495" height="508" name="Chat2" border="0" frameborder="0"></iframe>
<td valign="top" width="2" class="Profil_Linje_Vanster">
</td>
</td>
<td valign="top">
<form action="?Add=ChatMessage" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="208">
<tr>
<td width="5" height="182">
<td>
<textarea name="ChatMessage" style="width: 160;height:182" rows="1" cols="20"></textarea>
</td></td>
</tr>
<%
Response.Write "<tr>"
Response.Write "<td width='5' height='35'>"
Response.Write "<td>"
Response.Write "Bakgrund: "
Response.Write "<select name='Background' style='width: 90;height:22' size='1'>"
Response.Write "<option value='#FFFFFF' style='background-color: #FFFFFF;'>Vit</option>"
Response.Write "<option value='#AECEFF' style='background-color: #AECEFF;'>Babyblå</option>"
Response.Write "<option value='#FFC1F0' style='background-color: #FFC1F0;'>Babyrosa</option>"
Response.Write "<option value='Gray' style='background-color: Gray;'>Grå</option>"
Response.Write "<option value='#FF00FF' style='background-color: #FF00FF;'>Lila</option>"
Response.Write "<option value='#BDFF82' style='background-color: #BDFF82;'>Ljusgrön</option>"
Response.Write "<option value='Pink' style='background-color: Pink;'>Rosa</option>"
Response.Write "<option value='#FF6666' style='background-color: #FF6666;'>Röd</option>"
Response.Write "<option value='#70829E' style='background-color: #70829E;'>Ömer's Färg</option>"
Response.Write "<option value='#9D7E61' style='background-color: #9D7E61;'>Testar</option>"
Response.Write "<option value='#839677' style='background-color: #839677;'>Mörkgrön</option>"
Response.Write "</select>"
Response.Write "</td>"
Response.Write "</td>"
Response.Write "</tr>"
%>
<tr>
<td width="5" height="26">
<td>
<input type="submit" value="Skicka" style="width: 160;"></td></td>
</tr>
</table>
</form>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="34">
<tr>
<td width="2%" height="22">
<td colspan="2">
<%
Set ObjRS = ObjConn.Execute("Select * FROM TLUsers WHERE UsrWhereName='Chattar på Planket' Order By UsrTLAlias ASC")
Response.write "<span class=""Fett_Text"">Användare i Chatten</span>"
%>
</td></td>
</tr>
<%
Do until ObjRS.Eof
%>
<tr>
<td width="2%" height="12">
<td valign="top" width="65%">
<%
Response.write " <a href=""../UsrProfile/Profil.asp?UsrId=" & ObjRS("UsrId") & """>" & ObjRS("UsrTLAlias") & "</a>"
%>
</td></td>
<td valign="top" width="33%">
<%
If Session("UsrAdmin")="1" Then
Response.Write "<a href=""kickUser.asp?UsrTLAlias="&Server.HtmlEncode(ObjRS("UsrTLAlias"))&""" target=""_blank"">Kicka</a>"
ElseIf Session("UsrAdmin")="2" Then
Response.Write "Kicka"
End If
%>
</td>
</tr>
<%
ObjRS.MoveNext
Loop
ObjRS.close
set ObjRS=nothing
%>
</table>
</td>
</td>
</tr>
</table>
</td>
<td width="15" style="background-image: url('../_Grafik/Profil_Hoger.gif');" height="197"></td>
</tr>
<tr>
<td height="5">
<img src="../_Grafik/Profil_Vanster_Nere.gif" alt="" width="9" height="6"></td>
<td height="5" style="background-image: url('../_Grafik/Profil_Nere.gif');"></td>
<td height="5">
<img src="../_Grafik/Profil_Hoger_Nere.gif" alt="" width="15" height="6"></td>
</tr>
<tr>
<td height="5">
<img src="../_Grafik/Profil2_Vanster_Nere.gif" alt="" width="9" height="16"></td>
<td height="5" style="background-image: url('../_Grafik/Profil2_Nere.gif');"></td>
<td height="5">
<img src="../_Grafik/Profil2_Hoger_Nere.gif" alt="" width="15" height="16"></td>
</tr>
</table>
<%
IF Request.Querystring("Add")="ChatMessage" then
IF Len(Request.Form("ChatMessage")) > 0 then
ObjConn.Execute("Insert into Chat (UsrTLAlias, UsrID, Background, SendDatum, ChatMessage, IP) values ('"&SafeSQL(Session("UsrTLAlias"))&"','"&SafeSQL(Session("UsrID"))&"','"&SafeSQL(Request.Form("Background"))&"','" & now &"', '"&SafeSQL(Request.Form("ChatMessage"))&"', '"&SafeSQL(Request.ServerVariables("REMOTE_ADDR"))&"')")
ObjConn.Close : Set ObjConn = Nothing
Response.Cookies("Chat") = now
Response.Cookies("Chat").Expires = DateAdd("s", 15, now())
else
ObjConn.Close : Set ObjConn = Nothing
Session("error")="Du måste skriva inlägg."
End if
Response.Redirect "Chat.asp"
End if
%>
</body>
</html>
SGuncelMedlem sedan jan. 2007217 inlägg De här koden skriver ut chat posterna från databasen.
<!-- #include file="../Inc/DBConnection.asp" --><!-- #include file="../Inc/LoginCheck.asp" --><!-- #include file="../Inc/RegExpChatt.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="copyright" content="">
<meta http-equiv="refresh" content="30">
<title></title>
<link rel="stylesheet" href="../_Style/SidansStyle.css" type="text/css">
<%
Set ObjRS = ObjConn.Execute("Select * From Chat ORDER BY SendDatum desc LIMIT 15")
Set ObjRS2 = ObjConn.Execute("Select * from TLUSers where UsrId="&SafeSQL(Session("UsrId"))&"")
IF Request.Cookies("Chat") ="" then
else
Response.Write ""
End if
IF ObjRS.Eof then
Response.Write "<span style=""padding:3px"">Finns inga chat inlägg.</span>"
else
Do until ObjRS.Eof
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="71" style="Background-Color: <%=ObjRS("Background")%>;" background="<%=ObjRS("Background")%>">
<tr>
<td width="58" height="71" style="padding: 3px;" valign="top">
<img src="../_Grafik/Pix.gif" width="3" height="20">
<%
Set objBild = objConn.Execute("SELECT UsrPic FROM TLUsers where UsrID="& CLng(ObjRS("UsrID")) &"")
IF Len(objBild("UsrPic")& "") > 0 then
Response.Write "<img width='50' height='60' src='"& objBild("UsrPic") &"' border='1'>"
else
Response.Write "<img width='50' height='60' src='../_Grafik/ingen_bild.gif' border='1'>"
End if
objBild.Close : Set objBild = Nothing
%>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="14">
<tr>
<td width="981" height="14" valign="top" style="padding: 3px;">
<a href="../UsrProfile/Profil.asp?UsrId=<%=Server.HtmlEncode(ObjRS("UsrID"))%>" target="Start"><%=Server.HtmlEncode(ObjRS("UsrTLAlias"))%></a>
| <span class="Fett_Text"><%=FormatDateTime(ObjRS("SendDatum"),vbshorttime)&" "&FormatDateTime(ObjRS("SendDatum"),vblongdate)%></span>
</td>
<td width="204" height="14" valign="top" style="padding: 3px;"><%
If ObjRS2("UsrAdmin")="1" Then
%>
<b>Admin:</b>
<a href="?Delete=ChatPost">Ta bort</a></td>
<%
End If
%> </td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="56">
<tr>
<td width="259" height="56" valign="top" style="padding: 3px;">
<%=byt(ObjRS("ChatMessage"))%>
</td>
</tr>
</table>
</td></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="Profil_Linje_Botten">
<img src="../_Grafik/Pix.gif" width="1" height="1"></td>
</tr>
</table>
<%
ObjRS.MoveNext
Loop
ObjRS.Close : Set ObjRS = nothing
ObjConn.Close : Set ObjConn = nothing
End if
%>
Vet inte var jag kontroll systemet ska ligga.
(Texten var förlång så dubbel postade.)
hopparnMedlem sedan nov. 20011 551 inlägg brukar vara mer hjälpsamma men
Grabbarna och tjejerna i dessa forum brukar vara mer förklarande än vad som framgår i denna tråden.
jag har dåligt med tid men skall förklara en liten sak iaf:
skriv ut sql:en... ändra lite i koden, skriv inte detta
ObjConn.Execute("Insert into chatKick (kickUser, kickUntil, kickReason, kickUserBy) values ('" & SafeSQL(Request.Form("KickUser")) & "','" & SafeSQL(Request.Form("KickMinutes")) & "'," & SafeSQL(Request.Form("kickReason")) & "','" & DateAdd("n",Request.Form("kickMinutes"), Now) & "')")
utan skriv detta
string strSQL = "Insert into chatKick (kickUser, kickUntil, kickReason, kickUserBy) values ('" & SafeSQL(Request.Form("KickUser")) & "','" & SafeSQL(Request.Form("KickMinutes")) & "'," & SafeSQL(Request.Form("kickReason")) & "','" & DateAdd("n",Request.Form("kickMinutes"), Now) & "')"
response.write strSQL
ObjConn.Execute(strSQL)
nu kommer du ovanför felmeddelandet se hela din sqlsträng, med variablerna omvandlade till värden. Med denna strängen kan du testa dig fram i din db och testa tills den fungerar. Kontrollera vad som är ändrat och modifiera din strSQL så att den fungerar
mvh
Patrick
SGuncelMedlem sedan jan. 2007217 inlägg Har redan löst det.
Mitt problem är nu att när jag tänker kolla igenom databasen och se om användaren finns. Om användaren finns ska han/hon skickas till någon annan sida.
Vet inte hur jag ska göra det. Ovanför finns det koder på min chat.
SGuncelMedlem sedan jan. 2007217 inlägg Skulle någon vara snäll o hjälpa mig? :$
@ndersMedlem sedan juni 200032 969 inlägg
SGuncel skrev:
Mitt problem är nu att när jag tänker kolla igenom databasen och se om användaren finns. Om användaren finns ska han/hon skickas till någon annan sida.
Det är egentligen inte så komplicerat. Jag visar principen så kan du säkert anpassa det till din övriga kod / dina fält- och tabellnamn.
sUserName = replace(request.form("username"), "'", "''")
sSQL = "SELECT 1 FROM TLUSers where UserName = '" & sUserName & "'"
set oRS = oConn.Execute (sSQL)
iErr = 0
if not oRS.EOF then
' användarnamnet är upptaget!
iErr = 1
end if
oRS.Close : set oRS = Nothing
if iErr = 1 then Response.redirect "någonannansida.asp"
SGuncelMedlem sedan jan. 2007217 inlägg @nders, ojj berätta fel det ska vara tid också.
Om test är bannad till 22:05 och klockan är 21:05 så ska han inte få komma in men om det är 22:05 ska han få komma in.
@ndersMedlem sedan juni 200032 969 inlägg Öh - ok, då missuppfattade jag din fråga. Eller så var det du som frågade fel...
sSQL = "SELECT 1 FROM chatkick where chatuser = '" & sUserName & "' and kickuntil > now()"
Är det något sånt du menar?
SGuncelMedlem sedan jan. 2007217 inlägg Tack anders, har gjort en kontroll och de fungerar jättebra. Men när jag lägger kontrollen i chatten så fastnar chatten. Alltså så kan man inte komma in till chatten. Vad kan felet vara?
Och sen sak till. Hur gör jag så att alla i chatten ser att jag har kickad en användare från chatten.
De ska stå:
System 12:05
Kickade Test i 55 minuter.
Anledning: Spammade
bland chatten
Kontrollen:
<%
Set ObjRS = ObjConn.Execute("SELECT * FROM chatkick where kickUser='"&Session("UsrTLAlias")&"' and kickUntil > now()")
IF ObjRS.Eof then
Response.Redirect "Chat.asp"
else
%>
<br><br><br>
<br><br>
<div align="center">
<table cellspacing="1" width="456" height="64" border="0" style="">
<tr>
<td height="53" colspan="3">
<p align="center"><font size="5">Du är utslängt från chatten</font></td>
</tr>
<tr>
<td height="14" width="136">
</td>
<td height="14" width="64">
<b>Anledning:</b></td>
<td height="14" width="246">
<%=ObjRS("kickReason")%></td>
</tr>
<tr>
<td height="14" width="136">
</td>
<td height="14" width="64">
<b>Tills:</b></td>
<td height="14" width="246">
<%=FormatDateTime(ObjRS("kickUntil"),vbshorttime)%></td>
</tr>
<tr>
<td width="136">
</td>
<td width="64">
<b>Av:</b></td>
<td width="246">
<%=ObjRS("kickUserBy")%></td>
</tr>
</table>
</div>
<%
End If
%>