vi riassumo in due parole il mio problema che ho discusso anche qualche post fa con deivnet , il quale ringrazio per la pazienza avuta con me.

ho una form che l'utente deve riempire con i propri dati e inoltre deve aggiungere una foto.
I dati devono essere salvati su un db e la foto sella cartella public.

Riesco a fare l'upload del file , ma non riesco a recuperare i valori inseriti nella form (nome, cognome, ecc...) per salvarli nel db.
Mi veniva suggerito che recuperare i valori della form quando metti multipart nel tag form è quasi impossibile perche le proprietà dell'oggetto request in quel caso vengono annullate.

avete suggerimenti????

vi posto il codice:
file add.asp

codice:
<html>
<head>
<title> DataBase di immagini </title></head><body>

	<form method="post" action="add_process.asp" enctype="multipart/form-data">
	<tr>
		
    <td colspan=2> 

Nome 

        <input type="text" name="nome" value="nome" size="20">
      </p>
      

 Cognome

        <input name="cognome" type="text" id="cognome" value="cognome" size="20">
      </p>
      

 Inserisci immagine

        <input type="file" name="path" size="20">
        </p>
      


<input type="submit" value="Salva">
        <input name="submit" type="reset" value="Cancella">
      </p></td>
	</tr>
	</form>
</table>
</body>
</html>
file add_process.asp

codice:
<%

'Upload del file						 '

'variabili di configurazione
Dim folder
folder = "\public"				'directory sul server con accesso in scrittura
'fine variabili di configurazione

Response.Expires=0
Response.Buffer = TRUE
Response.Clear

Sub BuildUploadRequest(RequestBin)
	PosBeg = 1
	PosEnd =   InstrB(PosBeg,RequestBin,getByteString(chr(13)))
	boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
	boundaryPos = InstrB(1,RequestBin,boundary)
		Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
		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)
			If  PosFile<>0 AND (PosFile<PosBound) Then
			PosBeg = PosFile + 10
			PosEnd =    InstrB(PosBeg,RequestBin,getByteString(chr(34)))
			FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
			UploadControl.Add "FileName", FileName
			Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
			PosBeg = Pos+14
			PosEnd =   InstrB(PosBeg,RequestBin,getByteString(chr(13)))
			ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
			UploadControl.Add "ContentType",ContentType
			PosBeg = PosEnd+4
			PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
			Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
			Else
			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
		UploadControl.Add "Value" , Value	
		UploadRequest.Add name, UploadControl	
  		BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
	Loop
End Sub
Function getByteString(StringStr)
 For i = 1 to Len(StringStr)
 	char = Mid(StringStr,i,1)
	getByteString = getByteString & chrB(AscB(char))
 Next
End Function
Function getString(StringBin)
 getString =""
 For intCount = 1 to LenB(StringBin)
	getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
 Next
End Function

byteCount = Request.TotalBytes

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

BuildUploadRequest  RequestBin

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

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

'Create and Write to a File
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder)&"\"&filename)
 
For i = 1 to LenB(value)
	MyFile.Write chr(AscB(MidB(value,i,1)))
Next
 
MyFile.Close

dim cn, sql
set cn = Server.CreateObject("ADODB.Connection")
cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
											"Persist Security Info=False;"&_
											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
cn.open()

' salva la scheda sul database

dim nome, cognome, path
nome = replace(Request("nome"), "'", "''")
cognome = replace(Request("cognome"), "'", "''")
path = replace(filepathname , "'", "''")


response.Write(nome)
response.Write(" - ")
response.Write(cognome)
response.Write(" - ")
response.Write(path)
response.Write(" - ")
' effettua l'inserimento nel database

sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
cn.execute(sql)

' libera le risorse

cn.close()
set cn = nothing
%>