/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Session skrevet ind i asp kode
Fra : MaRk!


Dato : 05-06-02 16:32

Jeg har et script som lyder:

<%   @EnableSessionState   = False %>
<%   Option Explicit %>
<%   Response.Expires   = 0 %>
<%
   Dim UPLOAD_PATH
      UPLOAD_PATH   = Server.MapPath("graphic")

   Dim g_oFso, g_oFolder, g_oFile
      Set g_oFso   = Server.CreateObject("Scripting.FileSystemObject")
      Set g_oFolder   = g_oFso.getFolder(UPLOAD_PATH)

   If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
      Dim g_oUpload
         Set g_oUpload   = get_upload_files()

      Dim fpos, fcontent
         fcontent   = g_oUpload("upload").Item("content")
      Set g_oFile   = g_oFso.CreateTextFile(UPLOAD_PATH & "\" &
extract_filename(g_oUpload("upload").Item("filename")))
      For fpos = 1 to LenB(fcontent)
         g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
      Next
      g_oFile.Close: Set g_oFile   = Nothing

      Response.Redirect Request.ServerVariables("SCRIPT_NAME")
   End If
if session.contents("login") <> 1 then
response.redirect "adminform.asp?fejl=Forkerte loginoplysninger!"
end if
   Response.Write "<html><body><table>"
   Response.Write "<tr><td><hr></td></tr>"
   For Each g_oFile In g_oFolder.Files
      Response.Write "<tr><td><a href=""graphic/" & g_oFile.Name &
""">" & g_oFile.name & "</a></td></tr>"
   Next
   Response.Write "<tr><td><hr></td></tr>"
   Response.Write "<tr><td align=""right""><form name=""frmUpload""
method=""post"" enctype=""multipart/form-data"" action=""" &
Request.ServerVariables("SCRIPT_NAME") & """>"
   Response.Write "<input type=""file"" name=""upload""> &nbsp;
<input type=""submit"" value=""upload""></td></tr>"
   Response.Write "</table></body></html>"

%>
<%
   Function get_upload_files()
      Dim   upload_object, request_binaries
      Dim position_start, position_end
      Dim boundary, boundary_pos

      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

         Dim name, pos_file

         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)
      Dim cnt
      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)
      Dim cnt
      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
%>

Hvordan kan jeg så lagt

<%
if session.contents("login") <> 1 then
response.redirect "adminform.asp?fejl=Forkerte loginoplysninger!"
end if
%>

ind?
Det skal være såen, at hvis session login ikke er 1, skal
scriptet ikke blive vidst, ellers skal det.

Hilsen MaRk!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jesper Nielsen (05-06-2002)
Kommentar
Fra : Jesper Nielsen


Dato : 05-06-02 23:02

<snip en masse kode>

> Hvordan kan jeg så lagt
>
> <%
> if session.contents("login") <> 1 then
> response.redirect "adminform.asp?fejl=Forkerte loginoplysninger!"
> end if
> %>
>
> ind?
> Det skal være såen, at hvis session login ikke er 1, skal
> scriptet ikke blive vidst, ellers skal det.

Når du anvender
<% @EnableSessionState = False %>
kan du ikke anvende session.*

Anvend istedet
<% @EnableSessionState = True %>

og

If Not Session("Login") = True Then
Response.Redirect("adminform.asp?fejl=Forkerte loginoplysninger!")
Response.End()
End If

--
Mvh. Jesper



Jesper Nielsen (05-06-2002)
Kommentar
Fra : Jesper Nielsen


Dato : 05-06-02 23:05

> Response.Redirect("adminform.asp?fejl=Forkerte loginoplysninger!")

Nåeh, ja. Og så var det nok heller ikke metoden jeg ville anvende... Jeg
ville gøre noget á la følgende:

Response.Redirect("adminform.asp?fejl=1")

og i adminform.asp have følgende:

Dim Fejl

Fejl = Int(Request.QueryString("fejl"))

Select Case Fejl
Case 1
Response.Write("Din session er udløbet")
Case 2
Response.Write("Brugernavnet eller adgangskoden er forkert.")
End Select

--
Mvh. Jesper



MaRk! (06-06-2002)
Kommentar
Fra : MaRk!


Dato : 06-06-02 18:25

Jesper Nielsen wrote in dk.edb.internet.webdesign.serverside.asp:
> <snip en masse kode>
>
> > Hvordan kan jeg så lagt
> >
> > <%
&gt; > if session.contents("login") <> 1 then
&gt; > response.redirect "adminform.asp?fejl=Forkerte
loginoplysninger!"
&gt; > end if
&gt; > %>
> >
> > ind?
> > Det skal være såen, at hvis session login ikke er 1, skal
> > scriptet ikke blive vidst, ellers skal det.
>
> Når du anvender
> <% @EnableSessionState = False %>
Det er noget som var i et script jeg har hentet...


> kan du ikke anvende session.*
>
> Anvend istedet
> <% @EnableSessionState = True %>

Ok


> og
>
> If Not Session("Login") = True Then
> Response.Redirect("adminform.asp?fejl=Forkerte loginoplysninger!")
> Response.End()
> End If
>
> --
> Mvh. Jesper
>
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

MaRk! (06-06-2002)
Kommentar
Fra : MaRk!


Dato : 06-06-02 18:51

Ved ik om det bare er mig, men systemet virker bedre når de to case er
byttet om. Ellers sir den at min session er udløbet når jeg skriver
forkert kode + brugernavn ;)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408843
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste