Avatar billede eromaster Nybegynder
28. juli 2003 - 10:53 Der er 15 kommentarer og
1 løsning

Tilføj nyhed = timeout

Jeg har lavet et nyhedsscript og det virker perfekt pånær en lille ting. Hvis man vil tilføje en nyhed så skal man gøre det meget hurtigt, hvis man bruger mere end ca. 3min på at skrive nyheden så linker den dig bare ud til forsiden ("default.asp") og det forstår jeg ikke!

I får simpelthen bare hele koden:
<font face=verdana size=2>
<form method=post action="tilfoej_nyhed.asp?mode=AddNew" id=form name=form>
<b>Vælg Logo:</b>
<br>
<SELECT id=logo name=logo class="rolldown" style="FONT-SIZE: x-small; BACKGROUND-COLOR: #333333">
<%
      strPath = Server.MapPath("./gfx/logos/")

      Set objFSO = CreateObject("Scripting.FileSystemObject")
      Set objFolder = objFSO.GetFolder(strPath)

      For Each objFile In objFolder.Files

      If LCase(Right(objFile.Name, 3)) = "jpg" Then
      %>
      <OPTION value="<%=objFile.Name%>"><%=objFile.Name%></OPTION>
   
    <%
      End If
 
      Next
%>
</select>
<br>
<br>
<b>Vælg Sektion:</b>
<br>
<SELECT id="sektion" name=sektion class="rolldown" style="FONT-SIZE: x-small; BACKGROUND-COLOR: #333333">
      <%
      Set DataConn = Server.CreateObject("ADODB.Connection")
      DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
      DSN = dsn & "DBQ=" & server.mappath("db/db.mdb")
      DataConn.Open DSN
     
      Set nyhed = Server.CreateObject("ADODB.RecordSet")
      nyhed.open "Select * From [sektioner] order by sektion_kort asc", DataConn
      if not nyhed.EOF then
      nyhed.MoveFirst
      end if
      do while not nyhed.EOF
      %>
     
      <OPTION value="<%=nyhed("id")%>"><%=nyhed("sektion_kort")%></OPTION>
     
      <%
      nyhed.MoveNext
      loop
      nyhed.Close
      set nyhed = nothing
      Dataconn.Close
      %>
   
</select>
<br>
<br>
<b>Emne:</b>
<br>
<INPUT type=text id="emne" name=emne size=82 class="input">
<br>
<br>
<b>Beskrivelse:</b>
<br>
<i>Max 180 tegn ca. - Den stopper selv!</i>
<br>
<INPUT type=text id="beskrivelse" name=beskrivelse maxlength=180 size=82 class="input">
<br>
<br>
<b>Tekst:</b>
<br>
<textarea id="tekst" name=tekst size="25" class="textbox"  rows="15" cols="95"></textarea>
<br>

<br>
<INPUT type="submit" value="Tilføj" id=submit1 name=submit1 class="button">
<input type="hidden" value=AddNew name=mode id=mode>
</form>   

<br>
<br>

<form METHOD="Post" ENCTYPE="multipart/form-data" ACTION="upasfile.asp?side=guide" ID="Form4">
<%if request.querystring("id") = ("uploaded") then%><b><font face=verdana size=2 color=red>Billedet er nu uploadet til serveren!</font></b><%else%><b><font face=verdana size=2 color=white>Logo Upload:</font></b><%end if%>
<br>
<input type='file' size='30' name='blob' Value='' ID="File1" class=input>
<br>
<input type='submit' name='Enter' value='Upload' ID="Submit5" class=input>
</form>
</font>


<%if Request.form("mode") = "AddNew" then

    Set DataConn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
    DSN = dsn & "DBQ=" & server.mappath("db/nyheder.mdb")
    DataConn.Open DSN
    Set Record = Server.CreateObject("ADODB.RecordSet")
    Record.open "Select * From [pre_nyheder] Order by id", DataConn, 1, 3

    Record.AddNew
        Record.Fields("navn") = brugerinfo("id")
        Record.Fields("emne") = Request.form("emne")
        Record.Fields("nyhed") = Request.Form("tekst")
        Record.Fields("beskrivelse") = Request.form("beskrivelse")
        Record.Fields("nyhed") = Request.Form("tekst")
        Record.Fields("logo") = Request.form("logo")
        Record.Fields("sektion") = Request.Form("sektion")
        Record.Fields("dato") = date
        Record.Fields("tid") = TIME
        Record.Fields("ip") = request.ServerVariables("REMOTE_ADDR")
    Record.Update

    Record.Close
    set Record = nothing
    Dataconn.Close

    Response.Redirect("medlem.asp?side=ret_prenyhed&id_navn=" & brugerinfo("id"))

end if%>
Avatar billede eagleeye Praktikant
28. juli 2003 - 11:23 #1
Har du et check på man er logget ind på siden og hvis man ikke er så redirecter den til default.asp ??

Du kan evt prøve at sætte Session.Timeout til eksvis 10 minutter i toppen af filen.:

Session.TimeOut = 10
Avatar billede eromaster Nybegynder
28. juli 2003 - 11:33 #2
Jeg tjekker brugerne sådan:
if session("brugernavn") = "" then Response.Redirect("default.asp?side=forside") end if
Avatar billede eagleeye Praktikant
28. juli 2003 - 11:36 #3
Det kunne tyde på at session timeoutet er på 3-5 minutter. Dog syntes jeg normalt det er omkring 15 mintter.  Prøv at indsætte et større timeout på siden som vist før. Så skulle der gå 10 mintter før man bliver "smidt-af".
Avatar billede eromaster Nybegynder
28. juli 2003 - 11:49 #4
Med denne kode bliver jeg stadig linket ud efter et kort stykke tid

<%
Session.TimeOut = 10
if session("brugernavn") = "" then Response.Redirect("default.asp?side=forside") end if
%>
Avatar billede eromaster Nybegynder
28. juli 2003 - 11:58 #5
<%
Session.TimeOut = 60
if session("brugernavn") = "" then Response.Redirect("default.asp?side=forside") end if
%>
Linker stadig ud til default.asp?side=forside
Avatar billede eagleeye Praktikant
28. juli 2003 - 12:08 #6
Er det kode på den side hvor man kan indtaste nyheden?
Avatar billede eromaster Nybegynder
28. juli 2003 - 12:08 #7
Jeg tjekker autologin sådan her:

<%if not Request.Cookies("userid") = ("") then%>
<%
Dim objFSO, objFolder, strPath, objFile
     
Dim objConn
Dim ckiUserId
Dim strSQL
Dim objRs

ckiUserId = Request.Cookies("userid")

If Len(ckiUserId) <> 0 Then
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("db/bruger.mdb")'
   
    Set objRs = Server.CreateObject("ADODB.Recordset")
    strSQL ="SELECT id, brugernavn, password, autolog FROM bruger WHERE (id =" & ckiUserId & ");"
    objRs.Open strSQL, objConn
   
    If objRs("autolog") = True Then
        session("brugernavn") = objRs("brugernavn")
        session("password") = objRs("password")
        session("userid") = objRs("id")
    End If
End If
%>
<%end if%>
Avatar billede eagleeye Praktikant
28. juli 2003 - 12:11 #8
Jeg tror det er timeoutet som driller på en eller anden måde med midre du har problemmer med man ikke bliver logget ind??
Men hvis den kan gemmen nyheden hvis man skriver hurtigere end 3 minutter så er man jo logget rigtigt ind.
Avatar billede eromaster Nybegynder
28. juli 2003 - 12:16 #9
Okay prøver lige at smide session.timeout i min top fil...
Avatar billede eromaster Nybegynder
28. juli 2003 - 12:16 #10
Kan man ikke sætte den til ingen timeout? session.timeout = 0 ??
Avatar billede eagleeye Praktikant
28. juli 2003 - 12:19 #11
Nej man kan ikke sætte den til 0 man kan sætte den meget højt.
TimeOutet skulle gerne blive fornyet hver gang man loader en side.
Avatar billede eromaster Nybegynder
28. juli 2003 - 12:21 #12
okay så sætter jeg den bare til en millard :)
Avatar billede eromaster Nybegynder
28. juli 2003 - 12:38 #13
Det virker fandme stadig ikke
Avatar billede eromaster Nybegynder
28. juli 2003 - 15:59 #14
Nogen der kan hjælp mig?
Avatar billede cazh Nybegynder
28. juli 2003 - 16:09 #15
<%if Request.form("mode") = "AddNew" then

    Set DataConn = Server.CreateObject("ADODB.Connection")


er ikke sikker men skal det ikke være ADODB.Recordset

Cazh
Avatar billede arno Nybegynder
01. august 2003 - 14:46 #16
Prøv at sætte denne på istedet for session..

XX.CommandTimeOut = 500

hvor XX = adodb.connection variable...

Jeg har selv brugt det på nedenstående måde...

Set Ekspress = Server.CreateObject("ADODB.Connection")
Ekspress.Open application("ODBCSQL")
Ekspress.CommandTimeout = 500

Værdien 500 kan du skrue op for..

/arno
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester