webForumDet fria alternativet

Microsoft VBScript runtime (0x800A0035)

13 svar · 338 visningar · startad av syrolis

syrolisMedlem sedan feb. 2003107 inlägg
#1

Jahopp,

Det verkar som om min sida leker med mig lite.
Ibland så fungerar skripten och ibland inte.

När de inte fungerar tex när jag eller någon annan laddar upp en bild till en mapp och skriver i kommentarer till den så laddas bilden upp men byter inte namn som den ska göra och inget registreras i databasen.

När allt fungerar som det ska skickas bilden upp och döps om till 00042.jpg eller liknande och kommentarerna skickas till databasen som uppdaterar (allt är frid och fröjd)

Kan tillägga att servern är en Win2000 Server och den finns hemma (inget webbhotell)
Alla databaser är av Access-modell.
Någon som skulle kunna ana vad som kunde vara felet?

Felmeddelandet lyder:

The page cannot be displayed There is a problem with the page you are trying to reach and it cannot be displayed.

Please try the following:
Click the Refresh <javascript:location.reload()> button, or try again later.

Open the europe.no-ip.com <http://europe.no-ip.com> home page, and then look for links to the information you want.

HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services

Technical Information (for support personnel)

Error Type:
Microsoft VBScript runtime (0x800A0035)

File not found
/dd/shows/skicka.asp, line 163

Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; DigExt)

Page:
POST 228 bytes to /dd/shows/skicka.asp

POST Data:
bild=00059&sort=skicka.asp%3Fsort%3DTitelkatter+2002&namn=CH&bildinfo=%3Cb%3ENamnet+p%E5+katten+inkl.katalogf%F6rd+titel%3C%2Fb%3E%0D%0AEMS-kod%0D%0Ak%F6n%0D%0AKlass%3A+%0D%0AResultat%3A%0D%0A%0D%0ADo . . .
Time:
den 14 March 2003, 21:20:27
More information:
Microsoft Support <http://www.microsoft.com/ContentRedirect.asp?prd=iis&sbp=&pver=5.0&ID=500;100&cat=Microsoft+VBScript+runtime+&os=&over=&hrd=&Opt1=&Opt2=-2146828235&Opt3=File+not+found>

syrolisMedlem sedan feb. 2003107 inlägg
#2

Och här kommer koden till sidan som genererade felet.


<%Response.Buffer = "True"%>
<!--#Include file="settings.asp"-->

<html>
<head>
<title>»» Bildgalleri ««</title>

<script language="JavaScript">
<!-- 
function blured()
{
for (a in document.links) document.links[a].onfocus = document.links[a].blur;
}
if (document.all)
{
document.onmousedown = blured;
}
// -->
</script>

<script language="javaScript">
function tecken(){ 

if (document.maila.bild.value=="") {alert("Du glömde skriva namnet på bilden!");
return false;

} else if (document.maila.namn.value==""){alert("Du glömde välja underkategori!");
return false;

} else if (document.maila.bildinfo.value==""){alert("Du glömde skriva lite om bilden!");
return false;
}
}
</script>

<link rel="stylesheet" href="stil.css" type="text/css">

</head>

<body bgcolor="#f0f0f0">

<!--
************************************************
Åsa Gruvsjö © 2002 
[url]www.gruvsjo.com[/url]  
[email]Asa@gruvsjo.com[/email]
	
Fri att använda om ni låter copyrightkoden stå kvar!
************************************************
-->

<%If Request.QueryString("do") = "" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db

SQL = "Select Top 1 * From bilder Order By id desc"
Set RecSet = Conn.Execute(SQL)

If RecSet.EOF Then
  Nynamn = 1
Else
  Nynamn = RecSet("id")+1
End If

extension = right(Session("fil"),4)

' Bygger det nya filnamnet. Eftersom det exempelvis kan stå 48, så vill vi istället
' att det skall stå 00048 och det kan man göra på följande sätt:
filename = Right("00000" & trim(Nynamn), 5)

' Bygger ihop det nya filnamnet
Nytt = filename & extension

Session("nytt") = Nytt%>

<table width="400" align="center" border="0">
  <tr>
      <td colspan="2"><font size="2">Bildgalleriet:</font></td>
  </tr>
  <tr>
      <td height="10" colspan="2"><img src="bilder/dot400.gif"></td>
  </tr>
  <form name="menyn">
  <tr>
      <td width="267"><font size="2">» &nbsp;  Formulär!</font></td>
      <td align="right" width="133">
         <!--#Include file="meny.asp"-->
      </td>
  </tr>
  </form>
  <tr>
    <td colspan="2" height="10"><img src="bilder/dot400.gif"><br></td>
  </tr>
</table>
<table width="400" border="0" align="center">
  <form action="skicka.asp?do=skicka" method="post"  name="maila" onSubmit="return tecken()">
   <tr> 
        <td valign="middle" width="150"> 
           Bildens namn: <br><input type="text" name="bild" size="30" value="<%=Session("nytt")%>" disabled>
           <input type="hidden" name="bild" size="30" value="<%=Session("nytt")%>"></td>
        <td>Kategori: <br>
        <select name="sort" onChange="self.location.href=this.options[this.selectedIndex].value;">
          <option value="">-- Välj -- <%For i = 1 To kategorier%>
          <option value="skicka.asp?sort=<%=Kat(i)%>" <%If Request.QueryString("sort") = Kat(i) Then Response.Write " selected"%>><%=Kat(i)%>
          <%Next%>
        </select></td>
        <td>Underkategori: <br>
        <select name="namn">
          <option value="">-- Välj -- <%If Request.QueryString("sort") <> "" Then
            Set RS=Conn.Execute("Select namn From galleri Where Sort='" & Request.QueryString("sort") & "' Order By namn")
            Do Until RS.EOF
                 Response.Write Space(10) & "<option value=" & chr(34) & RS("namn") & chr(34) & ">" & RS("namn") & vbCrLf
            RS.MoveNext
            Loop
            RS.Close
            Set RS = Nothing
            End If%>
        </select> 
        </td>
   </tr>
  <tr>
    <td colspan="3">Info om bilden: <br><textarea cols="60" rows="8" name="bildinfo"><b>Namnet på katten inkl.katalogförd titel</b>
EMS-kod
kön
Klass: 
Resultat:

Domare: 
</textarea></td>
  </tr>
  <tr>
    <td height="10" colspan="3"><img src="bilder/dot400.gif"><br></td>
  </tr>
   <tr> 
     <td colspan="3"><input type="submit" name="submit" value="Skicka"></td>
   </tr>
    <tr>
      <td colspan="3" height="10"><img src="bilder/dot400.gif"></td>
    </tr>
    <tr>
      <td colspan="3" height="10"><a href="javascript:history.back()">Tillbaka</a></td>
    </tr>
</form>
</table>
<%Conn.Close
Set Conn = Nothing

End If%>

<%If Request.QueryString("do") = "skicka" Then

UPLOAD_PATH	= Server.MapPath("pics")
Set Fso	= Server.CreateObject("Scripting.FileSystemObject")
Set Folder	= Fso.getFolder(UPLOAD_PATH)

If Fso.FileExists(UPLOAD_PATH & "\" & Session("nytt")) Then
    Fso.DeleteFile(UPLOAD_PATH & "\" & Session("nytt"))
    Fso.MoveFile UPLOAD_PATH & "\" & Session("fil") , UPLOAD_PATH & "\" & Session("nytt")
Else
    Fso.MoveFile UPLOAD_PATH & "\" & Session("fil") , UPLOAD_PATH & "\" & Session("nytt")
End If

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db

Bild          = Request.Form("bild") 
Namn  = Request.Form("namn") 
Bildinfo  = Request.Form("bildinfo") 

SQL = "Insert Into bilder(bild,namn,bildinfo) Values('" & Bild & "','" & Namn & "','" & Bildinfo & "')"
Conn.Execute(SQL)

Response.Redirect "index.asp"

End If%>  

</body>
</html>
KoTTeNMedlem sedan sep. 20011 722 inlägg
#3

Vilken rad är 163?

solbulleMedlem sedan mars 20015 287 inlägg
#4

Du lär då inte fått något värde i dina session du använder dig av.
Kör en koll att du har ett värde i dom innan din koll om filen finns/databasinsättning eller kanske ska du skippa sessions?

Har väl inte helt lusläst koden, men varför sessions?

syrolisMedlem sedan feb. 2003107 inlägg
#5

If Fso.FileExists(UPLOAD_PATH & "\" & Session("nytt")) Then
Fso.DeleteFile(UPLOAD_PATH & "\" & Session("nytt"))
Fso.MoveFile UPLOAD_PATH & "\" & Session("fil") , UPLOAD_PATH & "\" & Session("nytt")
Else
Fso.MoveFile UPLOAD_PATH & "\" & Session("fil") , UPLOAD_PATH & "\" & Session("nytt")
End If

Varav den sista

Fso.MoveFile UPLOAD_PATH & "\" & Session("fil") , UPLOAD_PATH & "\" & Session("nytt")

är rad 163

SebbeMedlem sedan jan. 20032 285 inlägg
#6

Det verkar som om filnamnet som finns i Session("fil") inte finns.

syrolisMedlem sedan feb. 2003107 inlägg
#7

Solbulle:

Jag har ingen aning varför Åsa valt sessions i detta script (gratisscript).
Jag vet bara att det krånglar för mig... ibland fungerar det och ibland inte.

Tyvärr kan jag inte tillräckligt för att bara "ta bort" eller "göra om" skriptet.

Tänkte att det kanske var något enklare fel som kunde fixa problemet vi har. Jag använder dessutom samma script på flera ställen och alla har samma problem just nu.

Inte roligt alls. Speciellt om det är jag som gjort något fel när jag konfigurerat om Åsas script men det mesta är ju intakt.

syrolisMedlem sedan feb. 2003107 inlägg
#8

Det verkar som om filnamnet som finns i Session("fil") inte finns.

Jo, scriptet letar efter filen som ska vara döpt till tex "00042.jpg" som hör till det IDnr som texten som skickas hör till.

Rörigt?

Det är alltså först en uploadsida.
Där letar man fram kattens bild på hårddisken.
Scriptet ska ge bilden ett idnr(42) och spara filen på servern som 00042.jpg
På nästa sida man skickas till så ska man fylla i uppgifter på katten och allt ska skickas till databasen.

Men när nu inte scriptet namnar bilden till 00042.jpg hittar inte steg två filen och inget sparas till databasen...

Och där står man då med ingen data i databasen, ett felmeddelande i browsern och en fil som heter "svartkatt.jpg" i stället för "00042.jpg" i stället på serverns mapp för fotografier...

**Suck**

Blev ni något klokare???

// Sylvia

SebbeMedlem sedan jan. 20032 285 inlägg
#9

syrolis skrev:

Blev ni något klokare???

Inte mycket :birp

solbulleMedlem sedan mars 20015 287 inlägg
#10

Hm... kan du inte bara använda dig av variabeln Nytt istället för din session?
Iofs kommer det inte fungera om sidan uppdateras, men jag ser inte riktigt något problem med det där.

r/ Eller föressten... det kommer ju inte att fungera... skicka med värdet i formen i stället då. I ett hiddenfält.

solbulleMedlem sedan mars 20015 287 inlägg
#11

Du har ju som sagt namnet i variabeln Nytt, sätt den i formen som skickas, flytta upp requesten av densamme där den tas emot => variabeln Bild, samt lägg in variabeln Bild istället för sessionen, det borde fungera bättre tycker jag.

Sen har vi då Session("fil"), som kanske är den som egentligen strular, var den sätts vet jag inte. Vet du?

syrolisMedlem sedan feb. 2003107 inlägg
#12

Tja, hur man bygger ihop det skriptet har jag ingen aning om...

Men själva skriptet som man skickar upp bilden med kommer här. Det kanske är det som strular förresten eftersom inte bilden döps om ibland? Och då naturligtvis inte hittas :q

Från detta skript där man skickar upp bilden skickas man alltså till skriptet jag lade upp ovan där det blev fel på rad 163.

Kanske någon kan se om det är något knas med det...
Annars måste det ju vara något med servern. Kan sådant fel jag får bero på överbelastning eller att det är någon tagg som inte är korrekt avslutad eller så?
Jag menar, emellanåt fungerar ju faktiskt scriptet.

// Sylvia


<%@EnableSessionState=True%>
<%Response.Buffer=True%>
<%Response.Expires=0

	UPLOAD_PATH	= Server.MapPath("pics")
		Set Fso	= Server.CreateObject("Scripting.FileSystemObject")
		Set Folder	= Fso.getFolder(UPLOAD_PATH)
If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
			Set Upload	= get_upload_files()
			fcontent	= Upload("upload").Item("content")

              allowlist = ".gif,.jpg,.bmp"
              extension = right(extract_filename(Upload("upload").Item("filename")),4)
              
  If Fso.FileExists(UPLOAD_PATH & "\" & extract_filename(Upload("upload").Item("filename"))) Then
                    Session("mess") = "En fil med det namnet finns redan!"
		    Response.Redirect "upload.asp"
                Else
                     If instr(allowlist,extension) then
                        Set File	= Fso.CreateTextFile(UPLOAD_PATH & "\" & extract_filename(Upload("upload").Item("filename")))
                     Else
                        Session("mess") = "Du får <b>inte</b> skicka upp filen med det filformatet.<br>Endast <b>" & allowlist & "</b> är godkända."
                        Response.Redirect "upload.asp"
                     End If
                End If                        
		For i = 1 to LenB(fcontent)
			File.Write chr(AscB(MidB(fcontent, i, 1)))
		Next
		File.Close: Set File	= Nothing
                Session("fil") = extract_filename(Upload("upload").Item("filename"))
                Session("visa") = "ok"
		Response.Redirect "skicka.asp"
End If%>

<!--#Include file="settings.asp"-->

<!--
************************************************
Åsa Gruvsjö © 2002 
[url]www.gruvsjo.com[/url]  
[email]Asa@gruvsjo.com[/email]
	
Fri att använda om ni låter copyrightkoden stå kvar!
************************************************
-->

<html>
<head>
<title>»» Inläggning av utställningsresultat ««</title>

<script language="JavaScript">
<!-- 
function blured()
{
for (a in document.links) document.links[a].onfocus = document.links[a].blur;
}
if (document.all)
{
document.onmousedown = blured;
}
// -->
</script>

<link rel="stylesheet" href="stil.css" type="text/css">

</head>

<body bgcolor="#f0f0f0">

<table width="400" align="center" border="0">
  <tr>
      <td colspan="2"><font size="2">Lägg till Bild till Utställningsresultatet:</font></td>
  </tr>
  <tr>
      <td height="10" colspan="2"><img src="bilder/dot400.gif"></td>
  </tr>
  <form name="menyn">
  <tr>
      <td width="267"><font size="2">» &nbsp;  Ladda upp bild</font></td>
      <td align="right" width="133">
         <!--#Include file="meny.asp"-->
      </td>
  </tr>
  </form>
  <tr>
    <td colspan="2" height="10"><img src="bilder/dot400.gif"></td>
  </tr>
</table>

<table width="400" border="0" align="center">
<form name="frmUpload" method="post" enctype="multipart/form-data" action="upload.asp">
  <tr>
    <td>
       <input type="file" name="upload" size="35"> &nbsp; <input type="submit" value="Ladda upp">
     </td>
  </tr>
    <tr>
      <td height="10"><img src="bilder/dot400.gif"></td>
    </tr>
    <tr>
      <td height="10"><br>
      
      
      
<b>Instruktioner:<br>
</b>För att kunna lägga till ett utställningsresultat så behöver du en bild
att ladda upp till servern. Den bör vara max 100kb stor
<p><img height="60" hspace="5" src="bilder/bild.gif" width="60" align="absbottom" vspace="5" border="1"></p>
<p><b>Finns ingen bild på katten?</b></p>
<ol>
  <li>Spara bilden ovan på din hårddisk</li>
  <li>Döp den till valfritt namn men använd inte å, ä, ö eller mellanslag i
    namnet.</li>
  <li>Bläddra sedan fram bilden och ladda upp till servern.</li>
  <li>Fortsätt sedan att skriva i resultaten men använd inte apostrofen ' i
    kattens namn utan ´ istället. Om du använder ' blir resultatet blir fel
    och du får&nbsp; börja om från början.</li>
  <li>Misslyckades din uppladdning och du fick upp en felsida? Då kan du prova
    igen med samma bild men döp om bilden då bilden redan finns på servern
    och den är programmerad att inte skriva över en bild med samma namn..</li>
  <li>När bilden och resultatet är korrekt inmatat hamnar du i bildgalleriet
    igen. Den nya posten syns inte än eftersom den ska godkännas av
    administratören först. </li>
  <li>För snabbare handläggning maila till <a href="mailto:info@europenytt.com">info@europenytt.com</a>
    eller använd kontaktformuläret och tala om vad du uppdaterat med.</li>
</ol>

      
      
      
      
      
      
      </td>
    </tr>
  <%If Session("mess") <> "" Then%>
  <tr> 
    <td height="10"><img src="bilder/dot400.gif"></td>
  </tr>
  <tr> 
     <td class="normal"><%=Session("mess")%><%Session("mess") = ""%></td>
  </tr>
 <%End If%>
</form> 
</table>

</body>
</html>

<%
	Function get_upload_files()
		Set upload_object	= Server.CreateObject("Scripting.Dictionary")
		request_binaries	= Request.BinaryRead(Request.TotalBytes)
		position_start		= 1
		position_end		= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
		boundary			= MidB(request_binaries, position_start, (position_end - position_start))
		boundary_pos		= InstrB(1, request_binaries, boundary)
                
		Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
			If Not(Response.IsClientConnected) Then Response.End

			position_start	= (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
			position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))

			name			= get_string(MidB(request_binaries, position_start, (position_end - position_start)))
			pos_file		= InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

			If  ((pos_file <> 0) AND (pos_file < InstrB(position_end, request_binaries, boundary))) Then
				upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

				position_start	= (pos_file + 10)
				position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))
				upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

				position_start	= (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
				position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
				upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

				position_start	= (position_end + 4)
				position_end	= InstrB(position_start, request_binaries, boundary) - 2
				upload_object.item(name).Add "size", ((position_end - position_start))
				upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
			End If
			boundary_pos	= InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
		Loop

		Set get_upload_files = upload_object
	End Function

	Function get_byte_string(str)
		For cnt = 1 to Len(str)
			get_byte_string	= get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
		Next
	End Function

	Function get_string(str)
		For cnt = 1 to LenB(str)
			get_string	= get_string & chr(AscB(MidB(str, cnt, 1))) 
		Next
	End Function

	Function extract_filename(filename)
		extract_filename = Right(filename, Len(filename) - InStrRev(filename, "\", -1, 1))
	End Function
%>
syrolisMedlem sedan feb. 2003107 inlägg
#13

Ingen som har någon aning om hur jag skulle kunna lösa det här?

// Sylvia

mrblondeMedlem sedan aug. 20012 349 inlägg
#14

jag tror att det är för mycket kod för att någon skall orka, det kombinerat med att du själv säger att

Tyvärr kan jag inte tillräckligt för att bara "ta bort" eller "göra om" skriptet.

vilket gör att jag med de flesta tappar orken att sätta oss in i det.

Tyvärr... :(

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