webForumDet fria alternativet

2 problem

11 svar · 382 visningar · startad av fakenick!

fakenick!Medlem sedan juli 2002202 inlägg
#1

1. jag vill spara flera id's med en knapptryckning..

jag har:


sql = "select * from result order by tot"
rs.open sql, conn, 1, 2 %>
<% do until rs.eof %>
<tr id="center">
<td><input type="text" name="name" value="<%=rs("name")%>"></td>
<td><input type="text" name="1" value="<%=rs("1")%>"></td>
<td><input type="text" name="2" value="<%=rs("2")%>"></td>
<td><input type="text" name="3" value="<%=rs("3")%>"></td>
<td><input type="text" name="4" value="<%=rs("4")%>"></td>
<td><input type="text" name="5" value="<%=rs("5")%>"></td>
<td><input type="text" name="6" value="<%=rs("6")%>"></td>
<td><input type="text" name="7" value="<%=rs("7")%>"></td>
<td><input type="text" name="8" value="<%=rs("8")%>"></td>
<td><input type="text" name="9" value="<%=rs("9")%>"></td>
<td><input type="text" name="tot" value="<%=rs("tot")%>"></td></tr>
<%
rs.movenext
loop %>

och nu vill jag ha en knapp där jag
sparar alla id's i min access databas med..
detta är en resultatstabell om ni undrar..

2. jag vill ha ett fungerande uploadscript
med databas (access).. :)

jag använde mig av denna kod som
resulterade i "sidan kan inte visas"
(just vid content.asp?p=skicka alltså):

<form method="post" action="upload.asp?p=SKICKA">
<input type="file" style="width:230px;"><hr>
<input type="submit" value="SKICKA"><br>
</form>

<% if request.querystring("p") = "SKICKA" then 

set conn = server.createobject("adodb.connection")
conn.open = "driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("test.mdb") & ";pwd=;"
SQL = "SELECT * FROM test"
' Save the file to the database
Set RS=server.createobject("ADODB.Recordset")
RS.Open SQL,Conn,3,3
File.SaveToDatabase RS("Filedata")
RS("Filename")=File.FileName
RS("Filesize")=File.Filesize
RS("Contenttype")=File.Contenttype
RS.Update

response.write "jippiuiiiie"

end if %>

koden för upload hittade jag här: http://www.webforum.nu/showthread.php?s=&postid=59446#post59446

jag ändrade den i och för sig lite,
men jag tycker den borde funka
ändå.. :) jag vill alltså att filen samt
bildtext skall lägga sig i databasen..

någon som har koll på mina två problem?

skriv ett svar till mig då, snälla?! :)
väääldigt tacksam för svar...

mvh john n..

@ndersMedlem sedan juni 200032 969 inlägg
#2

jag använde mig av denna kod som
resulterade i "sidan kan inte visas"

Då kan du börja med att stänga av Friendly http error messages / Egna http-felmeddelanden i Internet Explorer, så du får ett riktigt felmeddelande. Återkom med detta.

Du saknar visserligen delen av scriptet som sköter själva uppladdningen (har du utelämnat den koden här?), eller använder du en uploadkomponent?

fakenick!Medlem sedan juli 2002202 inlägg
#3

heh.. jag har ingetdera, script för uppladdning eller
uploadkomponent.. jag ville tro att det skulle funka
med endast den kodbiten jag tidigare bifogade.. :)
men jag ska testa o inkludera en aspuploadkomponent..
återkommer.. när det gäller felmeddelandet så fick jag:

objekt krävs.: "

line 14

fakenick!Medlem sedan juli 2002202 inlägg
#4

nejru, på detta var jag helkörd.. :)
jag försökte koppla in overrides
uploadscript på något vänster, men
fick de inte att fungera..

känns som om det är bäst att göra
om allt från början.. så om någon har
en bra aspuploadkomponent + inskrivning
i databas skulle jag vara väldigt tacksam..

förlåt för att man är en sån nybörjare.. :P

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#5

Kolla här

fakenick!Medlem sedan juli 2002202 inlägg
#6

nu har jag använt mig av override's script, som jag sedan
modifierat lite så att jag kan lägga in filnamnet i en databas..

det fungerar klockrent med de 3 ommodifierade filer som finns
från början.. men när jag försöker inkludera detta i ett projekt
jag redan har så får jag felmeddelandet:

Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'BuildUploadRequest'
/inc/pics.inc, line 41

jag har aeven fott:

Körningsfel i Microsoft VBScript fel '800a0005'
Ogiltigt proceduranrop eller argument.: 'MidB'
/upload.asp, line 6

och då undrar jag varför det blir så.. det fungerade
ju klockrent innan jag försökte göra om det till mitt
gilande..

jag har alltså lagt in all kod från override's script
som jag sedan lagt in i en .inc-fil som jag har inkluderat
på min sida.. men då vill det inte fungera.. några förslag?
uppskattas mycket! tack på förhand..

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#7

Tips:
När du postar felmeddelande så skicka gärna med koden.
Så att vi får lite "kött på benen" som ska hjälpa dig.

fakenick!Medlem sedan juli 2002202 inlägg
#8

okej..

pics.inc som är inkluderad i content.asp

<% if request.querystring("p") = "pics" and session("user") = "user" then %>
<title>Administrering av bilder</title>
<form method="post" action="content.asp?p=pics1" name="pics" onsubmit="return form2()">
<span id="header2">&raquo; Admin - Lägg till bild</span>
<span id="content2">
<table width="100%" height="100%" cellpadding="0" cellspacing="0">
<td align="left" width="236">
Bildtext:<br>
<input type="text" name="txt"><br>
Bildnamn:<br>
<input type="file" name="pic" style="width:230px;"><hr>
<input type="submit" value="SKICKA"><br>
</form>
</td>
<td align="left" valign="top">
<% sql = "select * from pics order by id desc"
rs.open sql, conn, 1, 2 %>
<% do while not rs.eof %>
<a href="content.asp?p=pics2&id=<%=rs("id")%>" onfocus="this.blur()">Bild <%=rs("id")%></a> - <a href="javascript:del('content.asp?p=pics4&id=<%=rs("id")%>')" onfocus="this.blur()">ta bort</a><br>
<%
rs.movenext
loop
rs.close
%>
</span>
<% end if %>

<% if request.querystring("p") = "pics1" and session("user") = "user" then
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'txt = UploadRequest.Item("txt").Item("Value")

contentType = UploadRequest.Item("pic").Item("ContentType")
filepathname = UploadRequest.Item("pic").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("pic").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

<!-- #include = file="upload.asp" -->

add = "select * from pics"
rs.open add, conn, 1, 2
rs.addnew
rs("pic") = filename
rs.update
rs.close
response.redirect "content.asp?p=pics"
end if %>

upload.asp som ligger i samma mapp som inc-filen

<%
Sub BuildUploadRequest(RequestBin)
'Get the boundary
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
'Get all data inside the boundaries
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
'Members variable of objects are put in a dictionary object
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'Get an object name
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
'Test if object is of file type
If PosFile<>0 AND (PosFile<PosBound) Then
'Get Filename, content-type and content of file
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
'Add filename to dictionary object
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
'Add content-type to dictionary object
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
'Get content of object
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
'Get content of object
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
'Add content to dictionary object
UploadControl.Add "Value" , Value 
'Add dictionary object to main dictionary
UploadRequest.Add name, UploadControl 
'Loop to next object
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Loop

End Sub

'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function

'Byte string to string conversion
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
Next
End Function
%>

och jag fick alltså felmeddelandet:

Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'BuildUploadRequest'
/inc/pics.inc, line 41

och ibland när jag trixat lite får jag detta:

Körningsfel i Microsoft VBScript fel '800a0005'
Ogiltigt proceduranrop eller argument.: 'MidB'
/upload.asp, line 6

tacksam för en lösning av detta.. john n..

@ndersMedlem sedan juni 200032 969 inlägg
#9

Vad använder du för server? Är det IIS eller någon annan skum *nix-variant typ SUN ASP One/ChiliASP eller dylikt?

fakenick!Medlem sedan juli 2002202 inlägg
#10

IIS använder jag.. den versionen som ligger
på win2000-skivan.. vet ej den exakta versionen..

@ndersMedlem sedan juni 200032 969 inlägg
#11

Till att börja med:

<!-- #include = file="upload.asp" -->

skall vara

<!-- #include file="upload.asp" -->
fakenick!Medlem sedan juli 2002202 inlägg
#12

okii, det fixade jag nu..
men de blev fortfarande
problem.. line 40, Inkompatibla
typer: 'BuildUploadRequest'

fattar bara inte.. det fungerade
först, o nu ba lixom, neeee.. :)
äsch, det är väl säkert något
smått man missat o inte sett först..

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