Avatar billede clauso Nybegynder
21. maj 2001 - 20:03 Der er 19 kommentarer og
1 løsning

Freepaq & response.redirect & downloadscript

Er det muligt at få dette download script fra ActiveServerPages.dk til at køre på Freepaq?
Har forsøgt med javascript istedet for response.redirect uden det lykkedes - kan dette
skrives om?
MVH
Claus
----------------
<%
Response.Buffer = True
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"download.mdb\")
If Request.QueryString(\"id\") <> \"\" Then
  Set rs = Server.CreateObject(\"ADODB.RecordSet\")
  strSQL = \"SELECT * FROM Download WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
  rs.Open strSQL, myConn, 1, 3
  If Not (rs.BOF Or rs.EOF) Then
    rs(\"Hits\") = rs(\"Hits\") + 1
    strURL = rs(\"URL\")
    rs.Update
    rs.Close
    myConn.Close
    Set rs = Nothing
    Set myConn = Nothing
    Response.Clear
    Response.Redirect(strURL)
  End If
End If
%>
<html><head>
<title>Tælle downloads fra Database</title>
</head><body>

<p>DOWNLOAD</p>
<%
strSQL = \"SELECT * FROM Download ORDER BY Navn\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF
    Response.Write \"<p><a href=clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Navn\") & \"</a><br>\"
    Response.Write \"<font size=-1>Antal downloads: \" & rs(\"Hits\") & \"</font></p>\"
    rs.Movenext
  Loop 
End If
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede prof2 Nybegynder
21. maj 2001 - 20:29 #1
Du kan da ikke bruge ACCESS databaser på Freepaq mere ! Det mener jeg da!
Avatar billede clauso Nybegynder
21. maj 2001 - 21:29 #2
Nej, det er selvfølgelig en fejl. Jeg kopierede bare løs. Jeg har forsøgt på deres MySQL, hvor
ovennævnte var tilrettede, men desværre ikke virkede.
Avatar billede tofte Juniormester
22. maj 2001 - 07:56 #3
du kan sagtens få det til at virke. Det eneste som er galt med scriptet er at du som du selv hentyder til i overskrifte, ikke kan få response.redirect til at virke. Du skal i stedet skrive
<SCRIPT>
parent.location.href = \"<%=strURL%>\"
</SCRIPT>
det er vigtigt at ovenstående kommer til at stå i <BODY> og ikke <HEAD> da man ellers skal igang med en masse filurligheder for at få det til at virke
Avatar billede clauso Nybegynder
22. maj 2001 - 13:32 #4
Jeg har prøvet igen uden held. Det står jo ikke i
body, men før head. Hvor mange point skal det koste for at få det skrevet om? (kan jeg forhøje?)Jeg har lagt en zip her: http://hjem.get2net.dk/cyberco/download.zip
med asp, access db (ikke rigtigt, men en start) og
et par små zip filer.
Avatar billede tofte Juniormester
22. maj 2001 - 13:45 #5
jeg er lang fra sikker på at det virker, men prøv

<html><head>
<title>Tælle downloads fra Database</title>
</head><body>
<%
Response.Buffer = True
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"download.mdb\")
If Request.QueryString(\"id\") <> \"\" Then
  Set rs = Server.CreateObject(\"ADODB.RecordSet\")
  strSQL = \"SELECT * FROM Download WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
  rs.Open strSQL, myConn, 1, 3
  If Not (rs.BOF Or rs.EOF) Then
    rs(\"Hits\") = rs(\"Hits\") + 1
    strURL = rs(\"URL\")
    rs.Update
    rs.Close
    myConn.Close
    Set rs = Nothing
    Set myConn = Nothing
    Response.Clear%>
    <SCRIPT>
        parent.location.href = \"<%=strURL%>\"
    </SCRIPT>
 
<%  End If
End If
%>


<p>DOWNLOAD</p>
<%
strSQL = \"SELECT * FROM Download ORDER BY Navn\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF
    Response.Write \"<p><a href=clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Navn\") & \"</a><br>\"
    Response.Write \"<font size=-1>Antal downloads: \" & rs(\"Hits\") & \"</font></p>\"
    rs.Movenext
  Loop 
End If
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede tofte Juniormester
22. maj 2001 - 13:46 #6
du må heller huske et ; efter parent.location.href = \"<%=strURL%>\"

så der kommer til at at stå
parent.location.href = \"<%=strURL%>\";

Avatar billede clauso Nybegynder
22. maj 2001 - 16:33 #7
Nej det virker desværre ikke. Den opdaterer godt nok \"klik\" men meddeler så bare object requiered
vedr. sql anden gang i linie 32.
Ny zip incl. fungerende script med response.redirect samt dette ændret og access db
oploadet her: http://hjem.get2net.dk/cyberco/download1.zip
Avatar billede tofte Juniormester
22. maj 2001 - 18:55 #8
du skal bare have et response.end ind efter </SCRIPT>
sådan der kommer til at stå
    <SCRIPT>
        parent.location.href = \"<%=strURL%>\"
    </SCRIPT>
 
<% 
response.end
End If
End If
%>
Avatar billede clauso Nybegynder
22. maj 2001 - 19:49 #9
Ja så kommer filen frem klar til download, men
den oprindelige side med linket skifter til at være helt hvid.
Avatar billede tofte Juniormester
22. maj 2001 - 19:54 #10
det er rigtigt, hvordan vil du have den til at se ud
Avatar billede tofte Juniormester
22. maj 2001 - 20:09 #11
hvis du skriver således, vil siden vise sig selv igen, og downloadet vil begynde
<html><head>
<title>Tælle downloads fra Database</title>
</head><body>
<%
Response.Buffer = True
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"download.mdb\")

%>


<p>DOWNLOAD</p>
<%
strSQL = \"SELECT * FROM Download ORDER BY Navn\"
Set objRS = myConn.Execute(strSQL)
If Not (objRS.BOF Or objRS.EOF) Then
  Do While Not objRS.EOF
    Response.Write \"<p><a href=download1.asp?id=\" & objRS(\"ID\") & \">\" & objRS(\"Navn\") & \"</a><br>\"
    Response.Write \"<font size=-1>Antal downloads: \" & objRS(\"Hits\") & \"</font></p>\"
    objRS.Movenext
  Loop 
End If

If Request.QueryString(\"id\") <> \"\" Then
   
  Set objRS = Server.CreateObject(\"ADODB.RecordSet\")
  strSQL = \"SELECT * FROM Download WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
  objRS.Open strSQL, myConn, 1, 3
  If Not (objRS.BOF Or objRS.EOF) Then
    objRS(\"Hits\") = objRS(\"Hits\") + 1
    strURL = objRS(\"URL\")
    objRS.Update
    objRS.Close
    Set objRS = Nothing
 
  %>
    <SCRIPT>
     
    parent.location.href=\"<%=strurl%>\";
       
    </SCRIPT>
 
<% 
    End If
End If

myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede clauso Nybegynder
22. maj 2001 - 21:53 #12
Cool det virker bare. Det havde jeg faktisk aldrig
troet var muligt, da jeg vel har skrevet til Freepaq omkring response.redirect 5-10 gange nu og
fået at vide måske om 3-4 uger, men intet er jo sket. Jeg ved ikke om det virker, men jeg har overført 200 p. til dig. Det er mit første spørgsmål her, så jeg håber det går iorden.
Hvad siger du til 300-400 p. for at løse det samme
problem på dette script?
http://www.asp.dk/sources.asp?mode=view_source&id=1130&tech_id=1
Bare skriv her hvis du mener det også kan komme til at køre på Freepaq, så opretter jeg spørgsmål,
med rimelig point efter din anvisning.
Avatar billede tofte Juniormester
22. maj 2001 - 22:06 #13
du kan ikke få det til at virke umiddelbar, da infopaq ikke understøtter access, men kun mysql. Scriptet kan dog hurtigt omformuleres så det kommer til at virke.
Avatar billede tofte Juniormester
22. maj 2001 - 22:26 #14
for at kunne få det til at virke, skal du bruge et program som myaccess som du kan finde på www.mysql.com, eller phpmyadmin(http://www.phpwizard.net/projects/phpMyAdmin/phpMyAdmin_2.1.0.zip), som kræver php understøttelse.
Problemet med mysql, er at man ikke har en fil, som man har med access. Man skal styre det hele via et konfigurationsprogram og/eller ved hjælp af sql kommandoer. Det kan være lidt uoverskueligt i starten, men efterhånden som man kommer i gang er det faktisk lettere at styre og tilmed hurtigere.

for at tilpasse din side til mysql, skal du udskifte linien med myconn ud med følgende
SQLserver= \"mysql.infopaq.dk\"
database=\"wwwxxxxxx\" (fremgår af din bekræftelses-email!)
SQLlogin= \"dit brugernavn\"
SQLpassword=\"dit password\"

MyConn.Open \"driver={MySql};server=\" & SQLserveradr & \";database=\" & SQLdatabase &\";uid=\" & SQLlogin &\";pwd=\"&SQLpassword

Hvis du bruger ovenstående connecter du til en mysql i stedet for en access database. Nu magler du bare at oprette tabellen på serveren samt mulighed for at ændre dennes indhold. Til dette kan du bruge ovenstående programmer eller noget helt tredje.

God fornøjelse

Skriptet som du skriver, kan forholdsvis let omskrives så det passer til freepaq men det kræver at du har lidt styr på mysql
Avatar billede tofte Juniormester
22. maj 2001 - 22:27 #15
myacces kræver naturligvis ikke php, jeg fik mig lidt kluntet formuleret. Det er et tilføjelsesprogram til access
Avatar billede clauso Nybegynder
22. maj 2001 - 22:52 #16
Lidt styr på MySQL & MyAccess har jeg (jeg brugte
lige komb. da jeg testede dit ændrede script virkede), men at få disse ting placeret om så link scriptet (access), også virker på Freepaq det rækker evnerne desværre ikke til. Så jeg opretter lige spørgsmålet til 400 p. da jeg nu
har checket du har kun fået de 100 p. jeg oprindelig satte det til.
Avatar billede clauso Nybegynder
23. maj 2001 - 20:06 #17
>>>Tofte:
Det gik lige så godt i går, med det færdige download script, så jeg troede alt var OK.
Jeg sendte dette script, da mit eget efterhånden
er lidt langt med en masse tabeller indeni hinanden. Men jeg troede jeg kunne ordne resten
selv, men jeg kan simpelthen ikke få siden frem
igen efter at have klikket på en fil og har fundet
ud af (ved at hardcode) at det er 2 querystringe
jeg henter, der skaber problemer i første afsnit,
(således herover:)
strSQL = \"SELECT * FROM Download ORDER BY Navn\"
(således nu:)
Table = Request.Querystring(\"table\")
Land = Request.Querystring(\"dansk\")

strSQL = \"select * FROM \" & Table & \" WHERE dansk = \'\" & Land & \"\'\" & \"ORDER BY filedate desc;\"

Kan du se hvordan jeg skal gøre dette? - hvis
ja, kan jeg så ikke bare overføre nogle point uden
at stille spørgsmålet i ny tråd??
MVH/Claus
ps: og mange tak for hjælpen indtil nu.
ps1: det ser måske nok lidt mærkeligt ud, men det
virker OK, da det er flere sprog der er indblandet.

Avatar billede tofte Juniormester
23. maj 2001 - 20:16 #18
det med points kan vi altid finde ud af. Hvad er det lige problemet er, jeg kan ikke helt følge dig. Giver den nogen fejl eller hvad er der galt.

Du må gerne sende filen til Rasmus@fjordloekke.dk, hvis du mener det vil hjælpe på opklaringen af problemet
Avatar billede tofte Juniormester
23. maj 2001 - 20:17 #19
Avatar billede clauso Nybegynder
23. maj 2001 - 21:00 #20
Hej igen. Jeg var måske lidt hurtig på aftrækkeren. Det er det script du arbejdede med
i går. Jeg havde omforandret dette download script, men da det var lidt langt mit eget sendte jeg det oprindelige og fik derefter problemer med
at hente disse 2 querystringe ind. Jeg tror
imidlertid jeg selv kan løse det indenfor 1 uges
tid eller deromkring :-)) Jeg har lige fundet ud af den ene querystring virker OK og det er den der
også er med i nr. 2 sql (i bunden), så jeg vil
ikke forstyre mere lige nu :-))) Hvis jeg ikke får
det op at køre sender jeg det lige på mail i morgen.
Jeg har oprettet det andet spørgsmål omkring
*links scriptet*, da jeg har rettet her og der
i scriptet uden at få det til at virke. 400 p.
på højkant, evt. mere hvis kræves.
MVH/Claus
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