webForumDet fria alternativet

Oändlig loop

ASPur ASP

6 svar · 190 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Hejsan!

Jag håller på att jobba på ett så kallat "Replay system" till ett spel som heter Warcraft III...

Det jag än sålänge är klar med är själva upload delen... Men nu har jag problem med att få koll på delete delen.

Min kod ser än sålänge ut så här:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server=localhost;uid=xxx;pwd=xxx;database=xxx" 
Set RecSet = Server.CreateObject("ADODB.Recordset")

Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath("../replays/"))
Filename        = Request.QueryString("filename")

Mappen = Mapp & "C:\Inetpub\wwwroot\Creative\warcraft\replays\" & Filename

If Mappkoll.FileExists(Mappen) Then
   Mappkoll.DeleteFile(Mappen)
End If 

sql = " delete from wc3_replay where id = " & Request.Querystring("id") & " "
Connect.Execute(SQL)
Response.Redirect "../admin.asp?login=yes&del=replay"
%>

Den är filen (ovan) ligger i en katalog som heter admin och alla replays lagras i en katalog som heter replays, dessa två mappar ligger i samma mapp. När jag väl ska ta bort en replay så blir det en oändlig loop, det ser i alla fall ut som det, jag får starta om alla webläsare etc. etc. och det händer inte vidare mkt...

Länken till filen ovan är:
<a href="admin/del_replay.asp?id=<%=RecSet("id")%>&filename=<%=RecSet("filename")%>" onClick="return confirm('Vill du ta bort den här replayn från databasen?')">Ta bort</a>

Tacksam för svar

Medlem sedan aug. 20011 099 inlägg
#2

skriv ut sökvägen så ser du :birp

Mappen = Mapp & "C:\Inetpub\wwwroot\Creative\warcraft\replays\" & Filename
[b]response.write Mappen[/b]
Medlem sedan aug. 20011 099 inlägg
#3

men annars

<%
Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath("\"))
Filename        = Request.QueryString("filename")

Mappen = Mapp & "\Creative\warcraft\" & Filename
response.write Mappen
If Mappkoll.FileExists(Mappen) Then
   Mappkoll.DeleteFile(Mappen)
End If 
%>
Medlem sedan juni 200032 967 inlägg
#4

Det råkar inte vara så att du kör Norton Antivirus på maskinen? FSO brukar få skutt då.

Om det är så;
Kryssa av "Enable script blocking" (tror jag det heter, om jag minns rätt) och starta om maskinen.

Jag kan inte se något annat i koden, du har ju liksom ingen loop eller så i den.

Mvh

Medlem sedan juli 20033 147 inlägg
#5

Ja det var "Enable script blocking" som strulade till det...

Nu blir det så att det rensas ur databasen men filen finns fortfarande kvar...

Medlem sedan juli 20033 147 inlägg
#6

När jag tar bort:

[b]If Mappkoll.FileExists(Mappen) Then[/b]
Mappkoll.DeleteFile(Mappen)
[b]End If[/b]

så står det:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A0035)
Det går inte att hitta filen.

Alltså måste sökvägen vara fel eller länken till dokumentet som utför delete åtgärden, jag har pillat fram och tillbaka men jag hittar ändå inte sökvägen...

Medlem sedan juli 20033 147 inlägg
#7

Lyckades hitta felet sökvägen...

Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath("\Creative\warcraft\replays\"))

Mappen = Mapp & "\" & Request.QueryString("filename")
response.write Mappen

   Mappkoll.DeleteFile(Mappen)

Tack för all hjälp! :)

134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)