Vad menar du med fastnar?
Auto kick
35 svar · 1 372 visningar · startad av SGuncel · sida 2 av 2
Frågan, av SGuncel
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ö
Läs frågan i sin helhet →Det laddar och laddar sen står det Sidan kan inte visas.
Jag lägger kontrollen för att om jag kickar någon från chatten så finns han fortfarande kvar i chatten. För att han inte ska vara kvar så vill jag ha kontrollen i chatten.
Frågan är: koden du visar - inte är den på chat.asp?
De här är Chat.asp
<!-- #include file="DB.asp" --><!-- #include file="LoginCheck.asp" --><!-- #include file="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 "<a href=""kickUser.asp?UsrTLAlias="&Server.HtmlEncode(ObjRS("UsrTLAlias"))&""" target=""_blank"">Kicka</a>"
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>
Det där var väldigt grötigt, och du svarade itne riktigt heller på min fråga, så jag förklarar vad jag menar då:
Det känns som att du har en redirectloop någonstans. Dvs - någon sida redirectar till chat.asp, som redirectar till någon sida, som redirectar till chat.asp, som redirectar till någon sida, som redirectar till chat.asp, osv, osv.
Här har jag en enda redirectloop som skickar användaren till chat.asp sidan efter man har postat inlägg.
<%
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
%>
Nej, kontrollen är inte i chat.asp, jag testade lägga i chat.asp men de va då chat.asp laddades segt och sen det stog sidan kan inte visas.
men de va då chat.asp laddades segt och sen det stog sidan kan inte visas.
Det var därför jag frågade - det är ingen bra idé om det första som händer på chat.asp är att den redirectar till chat.asp. Men om det inte är så nu - vad är alltså felet nu?
Jag kan inte ha kontrollen i chatten. Användaren står kvar i chatten och chattar som vanligt när man har kickad han/hon.
var gör du alltså kontrollen nu?
Om du har kontrollen på chat-sidan, skicka iväg den som är kickad, inte de som inte är det.
Vad kontrollen gör?
Den kollar om personen är med i banndlistan, om användaren med så får användaren meddelande att han är kickad från chatten. Men om man är inte med så skickas man till chatten.
Just nu så har jag kotrollen på egen sida som heter Chatcontrol.asp
Problemet för mig är att jag inte kan ha kontrollen i chat sidan.
Nej, inte vad den gör - det är ju solklart.
Varför kan du inte göra kontrollen i chatsidan och skicka den kickade användaren till "kickad.asp" eller något liknande?
Först tänkte jag så också, men sen ändrade jag.
Då menar du så hära va?
<%
Set ObjRS = ObjConn.Execute("SELECT * FROM chatkick where kickUser='"&Session("UsrTLAlias")&"' and kickUntil > now()")
IF ObjRS.Eof then
Response.Redirect "Chat.asp"
else
Response.Redirect "Kickad.asp"
End If
%>
Nej, redirecta bara om användaren är kickad, annars är det bara att köra chatsidan som vanligt.
IF not ObjRS.Eof then
Response.Redirect "Kickad.asp"
End If
Tack för allt @nders.
Bare n sista sista fråga. Hur kan jag göra så att det står i chatten att en av adminerna kickad någon. Det ska vara som en chatt inlägg och visas bara en gång o det är när man har kickad annvändaren.
Det ska vara typ så här:
System 12:05
Kickade Test i 55 minuter.
Anledning: Spammade
Gör om den är EOF så gör du en insert till din databas med texten.
Jag skulle nog säga:
Precis när du gjort INSERT i kickuser, kör en INSERT som lagrar ett meddelande i chatten, typ:
strSQL = "Insert into Chat (UsrTLAlias, UsrID, Background, SendDatum, ChatMessage, IP) " & _
"values ('System','0','någon bakgrund',now(), 'Kickade " & Session("UsrTLAlias") & " i 55 minuter.<br/>Anledning:spammade', '127.0.0.1')"

