Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to retrieve variable value from an ASP file to others

Status
Not open for further replies.

tszdailo

IS-IT--Management
Feb 9, 2004
3
HK
I want to pass a variable value called "strDisplayFilename" in filePost.asp and save it into "strLogo_file" in event_Update.asp
filePost.asp and event_Update.asp do not call each other..

yesterday, I used the following way and it doesn't work

In filePost.asp
session("variable") = strDisplayFilename

in event_Update.asp
strLogo_file = session("variable")
session.abandon

this way doesn't do that work I work.
I want to upload a filename from my local pc and save it into a particular table in the database...
The way above just stores the filename into all tables in the database...
Please tell me the problem with the code above and are there any ways to solve the problem



 
here are my codes

---------------filePost.asp----------------------------

<%
'Adjust this depending on the size of the files you'll
'be expecting; longer timeout for larger files!
Server.ScriptTimeout = 5400

Const ForWriting = 2
Const TristateTrue = -1
CrLf = Chr(13) & Chr(10)

'This function retreives a field's name
Function GetFieldName(infoStr)
sPos = InStr(infoStr, &quot;name=&quot;)
EndPos = InStr(sPos + 6, infoStr, Chr(34) & &quot;;&quot;)
If EndPos = 0 Then
EndPos = inStr(sPos + 6, infoStr, Chr(34))
End If
GetFieldName = Mid(infoStr, sPos + 6, endPos - _
(sPos + 6))
End Function

'This function retreives a file field's filename
Function GetFileName(infoStr)
sPos = InStr(infoStr, &quot;filename=&quot;)
EndPos = InStr(infoStr, Chr(34) & CrLf)
GetFileName = Mid(infoStr, sPos + 10, EndPos - _
(sPos + 10))
End Function

'This function retreives a file field's MIME type
Function GetFileType(infoStr)
sPos = InStr(infoStr, &quot;Content-Type: &quot;)
GetFileType = Mid(infoStr, sPos + 14)
End Function

'Yank the file (and anything else) that was posted
PostData = &quot;&quot;
Dim biData
biData = Request.BinaryRead(Request.TotalBytes)
'Careful! It's binary! So, let's change it into
'something a bit more manageable.
For nIndex = 1 to LenB(biData)
PostData = PostData & Chr(AscB(MidB(biData,nIndex,1)))
Next

'Having used BinaryRead, the Request.Form collection is
'no longer available to us. So, we have to parse the
'request variables ourselves!
'First, let's find that encoding type!
ContentType = Request.ServerVariables( _
&quot;HTTP_CONTENT_TYPE&quot;)
ctArray = Split(ContentType, &quot;;&quot;)
'File posts only work well when the encoding is
'&quot;multipart/form-data&quot;, so let's check for that!
If Trim(ctArray(0)) = &quot;multipart/form-data&quot; Then
ErrMsg = &quot;&quot;
' grab the form boundary...
bArray = Split(Trim(ctArray(1)), &quot;=&quot;)
Boundary = Trim(bArray(1))
'Now use that to split up all the variables!
FormData = Split(PostData, Boundary)
'Extract the information for each variable and its data
Dim myRequest, myRequestFiles(9, 3)
Set myRequest = CreateObject(&quot;Scripting.Dictionary&quot;)
FileCount = 0
For x = 0 to UBound(FormData)
'Two CrLfs mark the end of the information about
'this field; everything after that is the value
InfoEnd = InStr(FormData(x), CrLf & CrLf)
If InfoEnd > 0 Then
'Get info for this field, minus stuff at the end
varInfo = Mid(FormData(x), 3, InfoEnd - 3)
'Get value for this field, being sure to skip
'CrLf pairs at the start and the CrLf at the end
varValue = Mid(FormData(x), InfoEnd + 4, _
Len(FormData(x)) - InfoEnd - 7)
'Is this a file?
If (InStr(varInfo, &quot;filename=&quot;) > 0) Then
'Place it into our files array
'(While this supports more than one file
'uploaded at a time we only consider the
'single file case in this example)
myRequestFiles(FileCount, 0) = GetFieldName( _
varInfo)
myRequestFiles(FileCount, 1) = varValue
myRequestFiles(FileCount, 2) = GetFileName( _
varInfo)
myRequestFiles(FileCount, 3) = GetFileType( _
varInfo)
FileCount = FileCount + 1
Else
'It's a regular field
myRequest.add GetFieldName(varInfo), varValue
End If
End If
Next
Else
ErrMsg = &quot;Wrong encoding type!&quot;
End If

'Save the actual posted file
'If supporting more than one file, turn this into a loop!

Dim strFilePath, strdisplayFilename

Set lf = server.createObject(&quot;Scripting.FileSystemObject&quot;)
If myRequest(&quot;filename&quot;) = &quot;original&quot; Then
'Use the filename that came with the file
'At this point, you need to determine what sort of
'client sent the file. Macintoshes only send the file
'name, with no path information, while Windows clients
'send the entire path of the file that was selected
BrowserType = UCase(Request.ServerVariables( _
&quot;HTTP_USER_AGENT&quot;))
If (InStr(BrowserType, &quot;WIN&quot;) > 0) Then
'It's Windows; yank the filename off the end!
sPos = InStrRev(myRequestFiles(0, 2), &quot;\&quot;)
fName = Mid(myRequestFiles(0, 2), sPos + 1)
End If
If (InStr(BrowserType, &quot;MAC&quot;) > 0) Then
'It's a Mac. Simple.
'(Mac filenames can contain characters that are
'illegal under Windows, so look out for that!)
fName = myRequestFiles(0, 2)
End If
'If your upload path is different, set that here
strdisplayFilename = fName
session(&quot;variable&quot;) = strDisplayFileName
strFilePath = &quot;C:\Inetpub\ & fName
Else
'Use the user-specified filename instead
'If your upload path is different, set that here
strdisplayFilename = myRequest(&quot;userSpecifiedName&quot;)
session(&quot;variable&quot;) = strDisplayFileName
strFilePath = &quot;C:\Inetpub\ & myRequest(&quot;userSpecifiedName&quot;)
End If

Response.Write(strdisplayFilename)
'Response.Write(strFilePath)
'SavePath = Server.MapPath(strFilePath)
'Response.Write(SavePath)
Set SaveFile = lf.CreateTextFile(strFilePath, True)
SaveFile.Write(myRequestFiles(0, 1))
SaveFile.Close

'IIS may hang if you don't explicitly return SOMETHING.
'So, redirect to another page or provide some kind of
'feedback below...
%>
<html>
<body>
<% If ErrMsg = &quot;&quot; Then %>
File was successfully transmitted.
<% Else %>
<%= ErrMsg %>
<% End If %>
</html>
-------------------end filePost.asp---------------------


----------------event_update.asp------------------------
<%option explicit%>
<!--#include virtual=&quot;/include/adovbs.inc&quot;-->
<!--#include file=&quot;../include/Admin_Const.inc&quot;-->
<!--#include file=&quot;../include/Function_ChangeQuotes.inc&quot;-->
<% if session(&quot;aduser&quot;) = &quot;&quot; or session(&quot;adpwd&quot;) = &quot;&quot; then response.redirect(&quot;../index.asp?error=2&quot;) end if

Dim strSQL, strDSN, objDBConn, sHide, objRS, urlencode, strTime, GETdate, strLogo_file, intLogo_vsize, intLogo_hsize
Dim strItem, strTitle, strBrief_desc, strLocation, intStatus, StrSpeakers, strEvent_type, strOrganizing_committee, strPrice_comments, strSponsor
Dim intNonmember_price, intMember_price, dteEvent_date, dteRevision_Date, dteUpload_Date, strDescription, intItem
If Request(&quot;Upload&quot;) = &quot;Upload Logo&quot; Then
strDSN = Live_DSN
Set OBJdbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
OBJdbConn.Open strDSN
strSQL = &quot;Update Event set Upload_Date = GETDate() where Item = &quot; & session(&quot;sItem&quot;)
OBJdbconn.execute(strSQL)
OBJdbconn.close
SET OBJdbConn = nothing
'session(&quot;fullpathy&quot;) = &quot;d:\inetpub\ & request(&quot;Logo_file&quot;)

response.redirect(&quot;events_upload.asp&quot;)
end if
sHide = request(&quot;Hidden&quot;)

If Request(&quot;Delete&quot;) = &quot;Delete Event&quot; Then
strDSN = Live_DSN
Set OBJdbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
OBJdbConn.Open strDSN
strSQL = &quot;Update Event set status=2 where Item = &quot; & session(&quot;sItem&quot;)
OBJdbconn.execute(strSQL)
OBJdbconn.close
SET OBJdbConn = nothing
response.redirect(&quot;events_edit.asp?Item=&quot; & session(&quot;sItem&quot;) & &quot;&update=2&hidden=&quot; &sHide)
end if

intItem = request(&quot;item&quot;)
strTitle = trim(ChangeQuotes(request(&quot;Title&quot;)))
response.write &quot;Title:&quot; & request(&quot;Title&quot;)

strBrief_desc = trim(ChangeQuotes(request(&quot;Brief_desc&quot;)))
dteEvent_date = request(&quot;Event_date&quot;)
'response.write &quot;Eventdate:&quot; & request(&quot;Event_date&quot;)

strTime = request(&quot;Time&quot;)
strLocation = trim(ChangeQuotes(request(&quot;Location&quot;)))
intStatus = request(&quot;Status&quot;)
strSpeakers = trim(ChangeQuotes(request(&quot;Speakers&quot;)))
strSponsor = trim(ChangeQuotes(request(&quot;Sponsor&quot;)))
strPrice_comments = trim(ChangeQuotes(request(&quot;Price_comments&quot;)))
strOrganizing_committee = request(&quot;Organizing_committee&quot;)
strEvent_type = request(&quot;Event_type&quot;)

strLogo_file = session(&quot;variable&quot;)
Session.Abandon()
response.write(strLogo_file )
'strLogo_file = request(&quot;Logo_file&quot;)
intLogo_vsize = request(&quot;Logo_vsize&quot;)
response.write &quot;V-size:&quot; & request(&quot;Logo_vsize&quot;)

intLogo_hsize = request(&quot;Logo_hsize&quot;)
intMember_price = request(&quot;Member_price&quot;)
intNonmember_price = request(&quot;Nonmember_price&quot;)
dteUpload_Date = request(&quot;Upload_Date&quot;)
dteRevision_Date = request(&quot;Revision_Date&quot;)
strDescription = trim(ChangeQuotes(request(&quot;Description&quot;)))
strDSN = Live_DSN
Set OBJdbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
OBJdbConn.Open strDSN
strSQL = &quot;Update Event &quot;
strSQL = strSQL & &quot;Set Title='&quot; & strTitle & &quot;', &quot;
strSQL = strSQL & &quot; Brief_desc='&quot; & strBrief_desc & &quot;', &quot;
strSQL = strSQL & &quot; Event_date= convert(datetime, '&quot; & FormatDateTime(dteEvent_Date, 2) & &quot;',101),&quot;
'response.write(strSQL)
strSQL = strSQL & &quot; Location='&quot; & strLocation & &quot;', &quot;
strSQL = strSQL & &quot; Status='&quot; & intStatus & &quot;', &quot;
strSQL = strSQL & &quot; Speakers='&quot; & strSpeakers & &quot;', &quot;
strSQL = strSQL & &quot; Sponsor='&quot; & strSponsor & &quot;', &quot;
strSQL = strSQL & &quot; Price_comments ='&quot; & strPrice_comments & &quot;', &quot;
strSQL = strSQL & &quot; Organizing_committee='&quot; & strOrganizing_committee & &quot;', &quot;
strSQL = strSQL & &quot; Event_type ='&quot; & strEvent_type & &quot;', &quot;
strSQL = strSQL & &quot; Logo_file ='&quot; & strLogo_file & &quot;', &quot;
strSQL = strSQL & &quot; Logo_vsize='&quot; & intLogo_vsize & &quot;', &quot;
strSQL = strSQL & &quot; Logo_hsize='&quot; & intLogo_hsize & &quot;', &quot;
strSQL = strSQL & &quot; Member_price='&quot; & intMember_price & &quot;', &quot;
strSQL = strSQL & &quot; Nonmember_price ='&quot; & intNonmember_price & &quot;', &quot;
strSQL = strSQL & &quot; Description='&quot; & strDescription & &quot;', &quot;
strSQL = strSQL & &quot; Time='&quot; & strTime & &quot;', &quot;
strSQL = strSQL & &quot; Revision_Date= GETDate() &quot;
strSQL = strSQL & &quot; where Item = &quot; & session(&quot;sItem&quot;)
'Response.Write(strsql)
OBJdbconn.execute(strSQL)
OBJdbconn.close
SET OBJdbConn = nothing
response.redirect(&quot;events_edit.asp?Item=&quot; & intItem & &quot;&update=1&hidden=&quot; &sHide)

%>
----------------end event_update.asp---------------------
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top